簡體   English   中英

Python 中的二維數組列表

[英]2d Arrays-lists in Python

我如何更改此代碼以制作類似 [[0],[0,1],[0,1,2]] 的列表

a=[]
lst = 3
element = 1
for i in range(lst):
    a.append([0,1,2] * element)
print(a)

output = [[0, 1, 2], [0, 1, 2], [0, 1, 2]]

你需要一點一點地積累內容。

例如,這將按如下方式工作:

a=[]
lst = 3
element = 1
x = []
for i in range(lst):
    x = x + [i]
    a.append(x * element)
print(a)

因此,i 的值總是擴展到 x 並寫入 a。

在更改最少代碼時起作用的更改:

a.append( [0,1,2][:i+1]* element) # only change this line

更好的方法可能是使用列表推導。 整個代碼將類似於:

n = 3
my_list = [0,1,2]
output = [my_list[:i] for i in range(1,n+1)]
print(output)

output:

[[0], [0, 1], [0, 1, 2]]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM