如何将由for循环生成的列表连接到一个列表中?
问题描述:
我有一个for循环返回随机字母列表。我想把所有这些列表都列入一个列表。如何将由for循环生成的列表连接到一个列表中?
import random
n = 3
for i in range (n ** 2):
x = random.choice(["X", "Y"])
x = list(x)
print(x)
理想情况下,我会得到X(或其他一些变量)等于的结果为循环成一个列表。
答
做一个列表,然后每个项目追加到它每一次迭代,就像这样:
import random
x = []
n = 3
for i in range (n ** 2):
x.append(random.choice(["X", "Y"]))
print(x)
答
列表理解是蟒蛇一个非常强大的工具,将会使这项工作更轻松:
import random
n=3
myList = [random.choice(['X', 'Y']) for i in range (n**2)]
print myList
列表理解由方括号表示。在其中,您提供了一个模式来生成列表中的元素,然后是一个范围或其他迭代来限制生成的元素的数量。在这种情况下,模式是您的示例列表['X','Y']中的随机选择,并且该模式被调用n^2次。
非常感谢! –
没问题。如果这回答你的问题,请确保upvote /接受这个答案。 – Kewl