簡體   English   中英

如何在 for 循環中創建和填充列表列表

[英]How to create and fill a list of lists in a for loop

我正在嘗試使用 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以達到相同的結果:

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)]

或者只是嵌套列表理解

[[x for x in 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)
newlist = [list(range(10))] * 10

暫無
暫無

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

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