原创:牛津小马哥Python后端工程师小李哥。
如果你对Python生成随机数与random模块中最常用的几个函数的关系有不懂之处,下面的文章会为你简单介绍Python生成随机数与random模块中最常用的几个函数的关系,希望你会有所收获。
random此模块为各种分布实现伪随机数生成器。对于整数,有一个范围内的统一选择。对于序列,有一个随机元素的统一选择,一个就地生成列表的随机排列的函数,以及一个无需替换的随机采样函数。
random()方法:返回随机生成的一个实数,它在[0,1)范围内;但该方法不能直接访问,需要导入random模块,然后通过random静态对象调用该方法。
>>> import random
1、实值分布
random.random():生成一个0到1的随机浮点数
>>> random.random()
0.12714242628347017
random.uniform(a, b):返回一个随机浮点数
>>> random.uniform(2, 4)
2.5916368345906777
2、整数函数
random.randint(a, b) :返回一个随机整数
>>> random.randrange(1, 10)
8
>>> random.randrange(10)
5
3、序列函数
random.choice(sequence)
参数sequence表示一个有序类型。泛指一系列的类型:list,tuple,字符串等,如果为空会报错。
>>> random.choice("学习python")
'h'
>>> random.choice("学习python")
'学'
random.choices(sequence, weights=None, cum_weights=None, k=1)
从参数列表中随机选择,weights可设置权重,提高选择机率;k返回的列表大小
>>> mylist = ["apple", "banana", "cherry"]
>>> random.choices(mylist, weights = [10, 1, 1], k = 4)
['apple', 'apple', 'cherry', 'banana']
>>> random.choices(mylist, weights = [10, 1, 1], k = 4)
['cherry', 'apple', 'apple', 'apple']
random.shuffle(sequence, function)
把一个列表内元素的顺序打乱,列表的内存地址不变
>>> mylist = ["apple", "banana", "cherry"]
>>> id(mylist)
2743283117640
>>> random.shuffle(mylist)
>>> mylist
['cherry', 'apple', 'banana']
>>> id(mylist)
2743283117640
random.sample(sequence, k)
返回一个列表,其中从序列中随机选择指定的返回数量。
>>> random.sample(range(10), 2)
[4, 3]
random.seed(a, version):自定义随机数生成器的起始编号,将会返回相同值。
>>> random.seed(2)
>>> random.random()
0.9560342718892494
>>> random.seed(2)
>>> random.random()
0.9560342718892494
本篇原创:小马哥团队的小哥哥☺~感谢阅读!