python用for循环填充列表

Com*_*rPO 6 python list

您好我正在尝试使用for循环填充列表.这是我到目前为止:

newlist = []
for x in range(10):
    for y in range(10):
        newlist.append(y)
Run Code Online (Sandbox Code Playgroud)

在这一点上,我很难过.我希望循环会给我一个10个列表的列表.

谢谢

Ila*_*sta 12

你接近它了.但是您需要将内部循环中的新元素附加到空列表中,该列表将作为外部列表的元素追加.否则,您将获得(从您的代码中可以看到)100个元素的平面列表.

newlist = []
for x in range(10):
    innerlist = []
    for y in range(10):
        innerlist.append(y)
    newlist.append(innerlist)

print(newlist)
Run Code Online (Sandbox Code Playgroud)

请参阅下面Błotosmętek的评论,以获得更简洁的版本.

  • ......无论如何,`newlist = [[x for range in range(10)] for y in range(10)]`更简洁. (4认同)

ett*_*any 6

您可以使用这一行代码list comprehension来实现相同的结果:

new_list = [[i for i in range(10)] for j in range(10)]
Run Code Online (Sandbox Code Playgroud)


abc*_*ccd 6

或者,您只需要一个循环和 append range(10)

newlist = []
for x in range(10):
    newlist.append(list(range(10)))
Run Code Online (Sandbox Code Playgroud)

或者

newlist = [list(range(10)) for _ in range(10)]
Run Code Online (Sandbox Code Playgroud)