一尘不染

从特定范围生成一组排序的随机数

python

我想生成一组x个唯一的随机数,并在Python中对其进行排序。例如:range(1000,10000)x = 100

我想出了导入随机数并使用random.randrange方法,然后循环获取100个随机数,最后对它们进行排序。

但是,我不知道如何获得唯一的数字(这样就不会重复)-我应该验证每个循环吗?还是还有其他更简单的方法呢?我应该如何对它们进行排序?


阅读 216

收藏
2021-01-20

共1个答案

一尘不染

采用
random.sample

numbers = random.sample(xrange(1000, 10000), 100)  # or `range` in Python 3

排序部分很容易-
使用list.sort方法。

numbers.sort()

默认情况下,它将按从小到大的顺序对其进行排序,但是它采用一个可选key参数来确定对其进行排序的方式。

还有一个sorted函数不会就地修改列表,而是返回已排序的列表。

numbers_sorted = sorted(numbers)

这也有一个可选key参数。

2021-01-20