我有一个for循环返回随机字母列表。我希望将所有这些列表放到一个列表中。
import random
n = 3
for i in range (n ** 2):
x = random.choice(["X", "Y"])
x = list(x)
print(x)
理想情况下,我会得到x(或其他一些变量)来将for循环的结果等同于一个列表。
答案 0 :(得分:1)
列表推导是python中一个非常强大的工具,可以简化这项工作:
import random
n=3
myList = [random.choice(['X', 'Y']) for i in range (n**2)]
print myList
列表理解用方括号表示。在内部,您提供了一种模式,用于生成列表中的元素,后跟一个范围或其他可迭代的元素,以限制生成的元素数量。在这种情况下,模式是您的示例列表[' X',' Y']中的随机选择,并且模式被调用n ^ 2次。
答案 1 :(得分:0)
制作一个列表,然后在每次迭代时将每个项目附加到它,如下所示:
import random
x = []
n = 3
for i in range (n ** 2):
x.append(random.choice(["X", "Y"]))
print(x)