[英]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.