如何在python中生成随机颜色时允许重复?
我有一个这样的名单:如何在python中生成随机颜色时允许重复?
colors = ["red", "blue", "yellow", "green", "purple", "orange"]
answers = random.sample(colors, 4)
我有麻烦试图找出如何让喜欢红色,红色,蓝色,黄色生成随机颜色时重复。
您可以尝试
[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']
替代方法(只是为了好玩,我会实际使用random.choice
),允许继续使用random.sample
是这样你就重复每个选项的次数等于使用序列乘法所需物品的数量,确保它可以(可能)每次都选择,并且绝对可用于重复选择:
answers = random.sample(colors * 4, 4)
当然,这只是为了好玩,可能值得注意的是,这种方法在所有可能的结果之间不会有一个平坦的概率分布 - 具有更多重复的“样本”的可能性越来越小。 –
@ZeroPiraeus:亚尔。它并不完全平坦。这在某些情况下可能是有益的,因为寻找随机输出的人(不是随机加密的,只是随机的分类)通常不希望看到过多的重复(它看起来“非随机的,即使它是随机的也是如此)所以偏向于“更随机看”的输出而不会完全阻止任何给定的结果可能是一件好事。 – ShadowRanger
工程。谢谢 –