文章目录【😊表示最最常用的函数】
1. 模块简介
- 1. 模块简介
- 2. 常用函数
- 2.1. randrange(start, stop[, step])【随机整数(可设步长)】
- 2.2. random.randint(a, b)【随机整数】😊
- 2.3. random.seed(a)【随机种子】😊
- 2.4. random.choice(seq)【随机抽样(抽一个)】😊
- 2.5. random.choices(population, *, k=1)【随机有放回抽样】😊
- 2.6. random.sample(population, k, *)【随机无放回抽样】😊
- 2.7. random.shuffle(x)【随机打乱顺序】
- 2.8. random.random()【0~1之间的随机浮点数】😊
- 2.9. random.uniform(a, b)【a~b之间的随机浮点数】
- 2.10. random.gauss(mu, sigma)【随机高斯分布抽样】
- 3. 引用参考
Python内置的random模块实现了各种分布的伪随机数生成器,本文是对该模块常用函数的用法详解。此模块的伪随机生成器不应该用于安全目的。有关安全或加密用途,请参阅secrets模块。
2. 常用函数 2.1. randrange(start, stop[, step])【随机整数(可设步长)】从步长为step
的区间[start, stop)
中随机抽取一个元素。
>>> import random
>>> random.randrange(1, 10, 2)
7
>>> random.randrange(1, 10, 2)
3
>>> random.randrange(1, 10, 2)
5
>>> random.randrange(1, 10, 2)
2.2. random.randint(a, b)【随机整数】😊
从区间[a, b]
随机抽取一个整数并返回。
>>> import random
>>> random.randint(1, 5)
1
>>> random.randint(1, 5)
1
>>> random.randint(1, 5)
5
2.3. random.seed(a)【随机种子】😊
设置随机种子,用于初始化随机数生成器,作用是让随机数生成可控。
>>> import random
>>> random.seed(0)
>>> random.randint(1, 5)
4
>>> random.randint(1, 5)
4
>>> random.randint(1, 5)
1
>>> random.seed(0)
>>> random.randint(1, 5)
4
>>> random.randint(1, 5)
4
>>> random.randint(1, 5)
1
2.4. random.choice(seq)【随机抽样(抽一个)】😊
从非空序列seq
中随机抽取一个元素并返回。
>>> import random
>>> seq = [1, 3, 5]
>>> random.choice(seq)
3
2.5. random.choices(population, *, k=1)【随机有放回抽样】😊
从序列population
中随机抽取(有放回)k
个元素,并返回元素列表。
>>> import random
>>> seq = [1, 3, 5, 7, 9]
>>> random.choices(seq, k=3)
[9, 5, 9]
2.6. random.sample(population, k, *)【随机无放回抽样】😊
从序列population
中随机抽取(无放回)k
个元素,并返回元素列表。
>>> import random
>>> seq = [1, 3, 5, 7, 9]
>>> random.sample(seq, k=3)
[9, 5, 7]
2.7. random.shuffle(x)【随机打乱顺序】
随机打乱序列x
的顺序(直接在x上操作,没有返回值)。
>>> import random
>>> x = [1, 3, 5]
>>> random.shuffle(x)
>>> x
[3, 1, 5]
2.8. random.random()【0~1之间的随机浮点数】😊
从范围[0.0, 1.0)
随机抽取一个浮点数并返回。
>>> import random
>>> random.random()
0.5421912517198525
>>> random.random()
0.0769130117386041
>>> random.random()
0.2098770927514041
2.9. random.uniform(a, b)【a~b之间的随机浮点数】
从范围[a, b)
随机抽取一个浮点数并返回。
>>> import random
>>> random.uniform(1, 2)
1.7906549212756446
>>> random.uniform(1, 2)
1.6767518353867357
>>> random.uniform(1, 2)
1.771968869481139
2.10. random.gauss(mu, sigma)【随机高斯分布抽样】
从均值为mu
,标准差为sigma
的正态分布(也称高斯分布)随机抽取一个元素并返回。
>>> import random
>>> random.gauss(0, 1)
0.8555615800923461
>>> random.gauss(0, 1)
1.2696105089692427
>>> random.gauss(0, 1)
-1.2362758632748023
3. 引用参考
https://docs.python.org/3.10/library/random.html