Python随机模块random的22种函数(小结)
Python的random模块提供了丰富的随机数生成函数,可以用于各种应用场景,如模拟、游戏、密码学等。本文将介绍random模块的22种常用函数,并提供示例说明。
1. random()
random()
函数返回一个[0, 1)之间的随浮点数。
import random
print(random.random())
2. randint(a, b)
randint(a, b)
函数返回一个[a, b]之间的随机整数。
import random
print(random.randint(1, 10))
3. randrange([start], stop[, step])
randrange([start], stop[, step])
函数返回一个[start, stop)之间以step为步长的随机整数。
import random
print(random.randrange(0, 10, 2))
4. choice(seq)
choice(seq)
函数从序列seq中随机选择一个元素。
import random
print(random.choice(['apple', 'banana', 'orange']))
5. shuffle(seq)
shuffle(seq)
函数将序列seq中的元素随机排序。
import random
lst = [1, 2, 3, 4, 5]
random.shuffle(lst)
print(lst)
6. sample(seq, k)
sample(seq, k)
函数从序列seq中随机选择k个元素,返回一个列表。
import random
lst = [1, 2, 3, 4, 5]
print(random.sample(lst, 3))
7. uniform(a, b)
uniform(a, b)
函数返回一个[a, b]之间的随机浮点数。
import random
print(random.uniform(1, 10))
8. triangular(low, high, mode)
triangular(low, high, mode)
函数返回一个三角分布的随机浮点数,其中low为分布的最小值,high为分布的最大值,mode为分布的众数。
import random
print(random.triangular(0, 1, 0.5))
9. betavariate(alpha, beta)
betavariate(alpha, beta)
函数返回一个beta分布的随机浮点数,其中alpha和beta为分布的参数。
import random
print(random.betavariate(1, 1))
10. expovariate(lambd)
expovariate(lambd)
函数返回一个指数分布的随机浮点数,其中lambd为分布的参数。
import random
print(random.expovariate(1))
11. gammavariate(alpha, beta)
gammavariate(alpha, beta)
函数返回一个伽马分布的随机浮点数,其中alpha和beta为分布的参数。
import random
print(random.gammavariate(1, 1))
12. gauss(mu, sigma)
gauss(mu, sigma)
函数返回一个高斯分布的随机浮点数,其中mu为分布的均值,sigma为分布的标准差。
import random
print(random.gauss(0, 1))
13. lognormvariate(mu, sigma)
lognormvariate(mu, sigma)
函数返回一个对数正态分布的随机浮点数,其中mu为分布的均值,sigma为分布的标准差。
import random
print(random.lognormvariate(0, 1))
14. normalvariate(mu, sigma)
normalvariate(mu, sigma)
函数返回一个正态分布的随机浮点数,其中mu为分布的均值,sigma为分布的标准差。
import random
print(random.normalvariate(0, 1))
15. vonmisesvariate(mu, kappa)
vonmisesvariate(mu, kappa)
函数返回一个von Mises分布的随机浮点数,其中mu为分布的均值,kappa为布的集中度。
import random
print(random.vonmisesvariate(0, 1))
16. paretovariate(alpha)
paretovariate(alpha)
函数返回一个帕累托分布的随机浮点数,其中alpha为分布的参数。
import random
print(random.paretovariate(1))
17. weibullvariate(alpha, beta)
weibullvariate(alpha, beta)
函数返回一个威布尔分布的机浮点数,其中alpha和beta为分布的参数。
import random
print(random.weibullvariate(1, 1))
18. getstate()
getstate()
函数返回当前随机数生成器的状态。
import random
state = random.getstate()
print(state)
19. setstate(state)
setstate(state)
函数设置随机数生成器的状态为state。
import random
state = random.getstate()
random.setstate(state)
20. getrandbits(k)
getrandbits(k)
函数返回一个k位的随机整数。
import random
print(random.getrandbits(16))
21. seed(a=None, version=2)
seed(a=None, version=2)
函数初始化随机数生成器的种子。如果a为None,则使用系统时间作为种子。
import random
random.seed(1)
22. randbytes(n)
randbytes(n)
函数返回一个包含n个随机字节的bytes对象。
import random
print(random.randbytes(16))
总结
Python的random模块提供了丰富的随机数生成函数,可以满足各种应用场景的求。在使用这些函数时,需要根据具体的需求选择合适的函数,并注意参数的设置。