gpt4 book ai didi

python - 从较小的原始列表中返回 N 个随机项目

转载 作者:行者123 更新时间:2023-11-28 20:26:23 27 4
gpt4 key购买 nike

我很惊讶我还没有找到一种不用循环的方法,因为这似乎是一个非常标准的问题。
在 python 工作,我有 colors = ["red","green","blue"] 并且我想将这些元素以随机顺序放入长度为 N 的列表中。现在我正在使用:

import random
colors = ["red","green","blue"]
otherList = []

for i in range (10): # N=10
otherList.append(random.choice(colors))

返回:otherList = ["red","green","green","green","blue","green","re​​d","green","green","blue "],这正是我想要的。我只是在寻找一种更惯用的方式来做到这一点?有任何想法吗?看起来 random.sample 可能是答案,但我在文档中没有看到任何完全符合我需要的内容。

最佳答案

您可以使用列表理解:

[random.choice(colors) for i in range(10)] #xrange for python2 compatability

或者 random.sample() 通过一些体操:

nrandom = 10
random.sample( colors*(nrandom//len(colors)+1), nrandom )

虽然我不认为那比列表理解更好......

关于python - 从较小的原始列表中返回 N 个随机项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12008465/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com