比如:从 1-100 中随机获取 5 个不同的数。
def test(start, end, length):
result = []
while len(result) < length:
number = randint(start, end)
if number not in result:
result.append(number)
return result
我是这么写的,但是感觉不是很简洁,有更好的办法吗?
1
yzongyue 2019-04-09 15:55:55 +08:00
so 搜 random n number python
|
2
huahuajun9527 2019-04-09 16:04:30 +08:00 1
```python
import random random.sample(range(1, 101), k=5) ``` https://docs.python.org/3/library/random.html#random.sample |
3
ipwx 2019-04-09 16:22:46 +08:00
使用 random shuffle 算法,但不做完,只做前 k 项。取前 k 项即可。
https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle |
4
ipwx 2019-04-09 16:28:59 +08:00 1
|
5
fngtz 2019-04-09 16:32:52 +08:00 via iPhone
我觉得很简洁。比 random.sample 简洁多了。
|