我有一个这样的清单:
colors = ["red", "blue", "yellow", "green", "purple", "orange"]
answers = random.sample(colors, 4)
在生成随机颜色时,我无法弄清楚如何允许重复,如红色,红色,蓝色,黄色。
答案 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)