random.randon
时间: 2025-03-09 20:13:47 浏览: 28
### Python `random` 模块中的随机数生成方法
Python 的 `random` 模块提供了多种用于生成伪随机数的功能函数。这些功能可以满足不同的需求,比如生成整数、浮点数或者从序列中随机选取元素。
#### 基本随机数生成器
- **`random.random()`**: 返回下一个在范围 `[0.0, 1.0)` 内的随机浮点数[^3]。
```python
import random
print(random.random())
```
- **`random.uniform(a, b)`**: 获取一个位于给定上下限之间的随机浮点数值 a <= N <= b 如果 a <= b 或者 b <= N <= a 如果 b < a。
```python
print(random.uniform(1, 10))
```
#### 整型随机数生成
- **`random.randint(a, b)`**: 返回一个介于两个参数之间(包括这两个参数)的随机整数,即 a <= N <= b。
```python
print(random.randint(1, 6))
```
- **`random.randrange(start, stop[, step])`**: 类似于内置range() 函数但是返回的是指定范围内任意的一个整数。
```python
print(random.randrange(0, 10, 2)) # 只会打印偶数
```
#### 序列操作
- **`random.choice(seq)`**: 从非空序列 seq 中获取单个随机元素。
```python
my_list = ['apple', 'banana', 'cherry']
print(random.choice(my_list))
```
- **`random.choices(population, weights=None, *, cum_weights=None, k=1)`**: 支持带权重的选择多个项目而不影响原列表顺序;weights 参数定义各个项目的相对概率分布。
```python
population = [1, 2, 3, 4, 5]
weights = [10, 20, 30, 40, 50]
result = random.choices(population, weights, k=2)
print(result)
```
- **`random.shuffle(x[, random])`**: 将可变序列 x 随机打乱位置。
```python
my_list = ['red', 'blue', 'green', 'yellow']
random.shuffle(my_list)
print(my_list)
```
#### 特殊用途的随机数生成功能
- **`random.sample(population, k)`**: 不放回抽样,从 population 中抽取不重复的k个样本作为新的list对象返回。
```python
numbers = list(range(10))
sampled_numbers = random.sample(numbers, 5)
print(sampled_numbers)
```
对于更高级的应用场景,还可以考虑使用 NumPy 提供的强大随机数工具集来代替标准库中的 `random` 模块。NumPy 的随机数发生器具有更好的性能以及更多的选项可供选择。
阅读全文
相关推荐


















