您好我正在尝试使用for循环填充列表。这就是我到目前为止所做的:
newlist = []
for x in range(10):
for y in range(10):
newlist.append(y)
此时我感到难过。我希望循环会给我一个10个列表的列表。
THX
答案 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" />