[英]Populating a 2D list
我正在尝试将 100 个数字方块输入 2D 列表https://i.stack.imgur.com/eSFiO.png ,每个列表包含 10 个数字 1-10,11-20,21-30 等等。 到目前为止,这是我的代码,但是当我在编辑器中运行它时,它只会继续运行并最终崩溃而没有打印任何内容。 请向我解释我做错了什么。 谢谢
number_square=[[],[],[],[],[],[],[],[],[],[]]
number_list=[1,2,3,4,5,6,7,8,9,10]
for row in number_square:
for number in number_list:
number_square.append(number)
number_list.remove(number)
number_list.append(number+10)
print(number_square)
您的代码需要进行许多更改。 您在尝试代码方面付出了很大的努力。 我已经修改了代码,您可能可以从中获取逻辑。
number_square=[[],[],[],[],[],[],[],[],[],[]]
number_list=[10,20,30,40,50,60,70,80,90,100]
for i in range(0,len(number_square)):
for j in range(number_list[i]-9,number_list[i]+1):
number_square[i].append(j)
那是因为您没有访问for
循环row
和number
的内容。 这是一个建议:
number_square=[[],[],[],[],[],[],[],[],[],[]]
number_list=[1,2,3,4,5,6,7,8,9,10]
i = 0
for row in number_square:
for i in range(len(number_list)):
row.append(number_list[i])
number_list[i] += 10
print(number_square)
请注意,第一个循环等效于for each
。 在此语法中,您不能更改列表中项目的值。 在第二个循环中,我放置了一个带有range
的“传统” for
循环来更改number_list
中的值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.