python - 如何创建仅包含唯一值的随机列表?

标签 python list random

我想创建一个包含 100 个元素的随机列表。到目前为止,一切顺利...

示例 1: 工作正常,因为该函数的范围足够大,不会重复任何值

list = random.sample(range(1,200),100)

示例 2:不起作用,因为范围太小(样本大于总体)

list = random.sample(range(50,80),100)

我正在寻找一种方法来创建具有比范围更多的值的随机列表,并且元素存在多次是没有问题的。

最佳答案

在这种情况下,不要使用random.sample,而是根据范围内选择的元素构建列表:

import random

[random.randrange(50, 80) for _ in range(100)]

示例输出:

[57,
 52,
 59,
 67,
 52,    # some elements repeat
 64,
 75,
...

关于python - 如何创建仅包含唯一值的随机列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46969675/

相关文章:

python - Mysqlclient 需要 MS Visual C++ 10.0,它又需要 .Net Framework 4

java - 如何将 List<int[]> 转换为二维数组?

java - 生成包含在指定值区间内的随机浮点值的最佳方法是什么?

ruby - Ruby 的 rand() 足够适合赌博游戏吗?

java - Java中List.of()生成什么类型​​的列表

Python 生成随机 : uuid v. md5 v. random 哪个最有效或*低效*

python - 如何使用在 gunicorn 服务器 Hook 中创建的变量?

python - Pandas 在 2 列中应用并在一行中替换它们

python - 以像素为单位指定 Tkinter 文本框的尺寸

c++ - 排序列表与未排序列表的线性搜索——为什么排序更慢?