如何从给定范围生成固定长度值的随机列表?
如何在Python中给定范围的数字中生成固定给定长度的随机(但唯一且已排序)列表?
像这样的东西:
>>> list_length = 4
>>> values_range = [1, 30]
>>> random_list(list_length, values_range)
[1, 6, 17, 29]
>>> random_list(list_length, values_range)
[5, 6, 22, 24]
>>> random_list(3, [0, 11])
[0, 7, 10]
How to generate a random (but unique and sorted) list of a fixed given length out of numbers of a given range in Python?
Something like that:
>>> list_length = 4
>>> values_range = [1, 30]
>>> random_list(list_length, values_range)
[1, 6, 17, 29]
>>> random_list(list_length, values_range)
[5, 6, 22, 24]
>>> random_list(3, [0, 11])
[0, 7, 10]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
像这样的随机样本返回序列中唯一项的列表。不要将其与范围内的随机整数混淆。
A random sample like this returns list of unique items of sequence. Don't confuse this with random integers in the range.
random.randrange 和列表理解的组合可以工作。
A combination of random.randrange and list comprehension would work.
如果您想通过替换进行采样,可以使用 random.choices() 来实现此目的。
You can achieve this using random.choices() if you want to sample with replacement.