我正在尝试使用for循环填充列表。这是我到目前为止的内容:
newlist = []
for x in range(10):
for y in range(10):
newlist.append(y)
此时,我很沮丧。我希望循环能给我10个列表的列表。
您接近它。但是您需要将内部循环中的新元素追加到一个空列表,该列表将作为外部列表的元素追加。否则,您将(从代码中看到)得到100个元素的平面列表。
newlist = []
for x in range(10):
innerlist = []
for y in range(10):
innerlist.append(y)
newlist.append(innerlist)
print(newlist)
请参阅以下Błotosmętek的评论,以获取其更简洁的版本。
您可以将这一行代码与list comprehension
一起使用以达到相同的结果:
list comprehension
或者,您只需要一个循环并附加new_list = [[i for i in range(10)] for j in range(10)]
。
range(10)
或
newlist = []
for x in range(10):
newlist.append(list(range(10)))
您应该放置中间列表以获取另一个级别
newlist = [list(range(10)) for _ in range(10)]
或者只是嵌套列表理解
newlist = []
for x in range(10):
temp_list = []
for y in range(10):
temp_list.append(y)
newlist.append(temp_list)