python用for循环填充列表

时间:2017-06-12 14:53:20

标签: python list

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

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

此时我感到难过。我希望循环会给我一个10个列表的列表。

THX

6 个答案:

答案 0 :(得分:8)

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

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

print(newlist)

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

答案 1 :(得分:6)

您可以将这一行代码与list comprehension一起使用,以获得相同的结果:

new_list = [[i for i in range(10)] for j in range(10)]

答案 2 :(得分:4)

或者,您只需要一个循环并附加range(10)

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

newlist = [list(range(10)) for _ in range(10)]

答案 3 :(得分:2)

您应该设置一个中间列表以获得另一个级别

linger.ms

答案 4 :(得分:2)

或者只是嵌套列表理解

[[x for x in range(10)] for _ in range(10)]

答案 5 :(得分:-1)

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/mainFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />