在python中生成随机颜色时如何允许重复?

时间:2017-03-10 02:41:31

标签: python python-3.x random

我有一个这样的清单:

colors = ["red", "blue", "yellow", "green", "purple", "orange"] 
answers = random.sample(colors, 4)

在生成随机颜色时,我无法弄清楚如何允许重复,如红色,红色,蓝色,黄色。

2 个答案:

答案 0 :(得分:2)

你可以尝试

[random.choice(colors) for _ in range(4)]

此处random.choice(colors)colors列表中选择一种随机颜色。使用列表推导将调用该函数四次并将结果收集到一个新列表中。

示例运行:

>>> colors = ["red", "blue", "yellow", "green", "purple", "orange"] 
>>> import random
>>> [random.choice(colors) for _ in range(4)]
['red', 'green', 'orange', 'orange']

答案 1 :(得分:1)

允许继续使用random.choice的替代方法(只是为了好玩;我实际上使用random.sample)是使用序列乘法,所以你重复每个选项的次数等于所需项目的数量,确保每次都可以(可能)选择,并且可以重复选择:

answers = random.sample(colors * 4, 4)