如何将for循环中的列表连接到一个列表中?

时间:2017-03-05 01:22:17

标签: python list python-3.x for-loop

我有一个for循环返回随机字母列表。我希望将所有这些列表放到一个列表中。

import random

n = 3
for i in range (n ** 2):
    x = random.choice(["X", "Y"])
    x = list(x)

    print(x)

理想情况下,我会得到x(或其他一些变量)来将for循环的结果等同于一个列表。

2 个答案:

答案 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)