如何使用python按顺序生成20个唯一的随机数?

ckl*_*lai 0 python

刚开始学编程,一章又一章,遇到问题。最大的问题之一就是遇到python生成随机数的问题。”生成20个随机唯一数,按顺序排序按升序或降序“。我已经研究过我该怎么做,但我现在很困惑,想放弃。谁能给我一个关于如何做到这一点的例子并对此进行解释。

Mor*_*iri 5

>>> import random
>>> var = random.sample(range(1, 10000), 20)
>>> var
[4691, 1789, 9473, 4042, 8423, 5021, 2627, 2739, 6337, 4963, 5772, 9180, 2788, 1197, 1276, 3393, 7748, 9448, 3618, 1835]
>>> var.sort()
>>> var
[1197, 1276, 1789, 1835, 2627, 2739, 2788, 3393, 3618, 4042, 4691, 4963, 5021, 5772, 6337, 7748, 8423, 9180, 9448, 9473]
Run Code Online (Sandbox Code Playgroud)

首先你从给定的范围内生成 20 个数字,然后简单地用 sort()

  • @Clodion : [`random.sample()`](https://docs.python.org/2/library/random.html#random.sample) 仅当给定总体中存在重复项时才返回重复项。`range(1,10000)` 中没有重复项,因此不会返回任何重复项。但是对于例如`random.sample([1]*20, 10)` 将返回重复项。 (2认同)