Python Random 模块

random 模块是一个内置模块,允许我们生成随机元素。

import random

seed()

seed 方法用于初始化随机数生成器。

# 设置种子以获得可复现的随机数
random.seed(1)
random.random()
0.13436424411240122

将种子设置为一个数字将始终返回相同的随机数:

random.seed(1)
random.random()
0.13436424411240122
random.seed(1)
random.random()
0.13436424411240122
random.seed(1)
random.random()
0.13436424411240122
random.seed(1)
random.random()
0.13436424411240122
random.seed(1)
random.random()
0.13436424411240122

seed 方法的默认值是当前系统时间,这就是我们总是得到不同数字的原因:

# 不设置种子生成随机数(使用系统时间)
random.random()
0.8474337369372327
random.random()
0.763774618976614
random.random()
0.2550690257394217

randint()

random.randint(start: int, stop: int)

此方法返回一个在给定起始和停止参数之间的随机数:

random.randint(1, 5)
3
random.randint(1, 5)
2
random.randint(1, 5)
5
random.randint(1, 5)
1
random.randint(1, 5)
3
random.randint(1, 5)
1

choice()

choice 方法从可迭代对象(如 listsetstr)中返回一个随机选择的元素:

random.choice([1, 2, 3, 4])
1
random.choice([1, 2, 3, 4])
2
random.choice([1, 2, 3, 4])
4
random.choice([1, 2, 3, 4])
4

shuffle()

shuffle 方法接受一个可迭代对象并将其打乱:

my_list = [1, 2, 3, 4]

# 就地打乱列表
random.shuffle(my_list)
my_list
[1, 4, 3, 2]
random.shuffle(my_list)
my_list
[2, 4, 3, 1]
random.shuffle(my_list)
my_list
[4, 2, 3, 1]

sample()

random.sample(iterable, k: int)

sample 返回一个包含从可迭代对象中随机选择的元素的列表。返回元素的数量等于 k 参数:

# 从列表中随机抽取 k 个元素
random.sample([1, 2, 3, 4], 1)
[3]
random.sample([1, 2, 3, 4], 2)
[3, 4]
random.sample([1, 2, 3, 4], 3)
[4, 3, 2]
random.sample([1, 2, 3, 4], 4)
[1, 2, 4, 3]

random()

random 方法返回一个介于 0.0 和 1.0 之间的随机浮点数:

random.random()
0.4143139993007743
random.random()
0.17300740157905092
random.random()
0.548798761388153
random.random()
0.7030407620656315

uniform()

uniform 方法类似于 randint,但返回一个浮点数:

random.uniform(1, 5)
3.697943322009309
random.uniform(1, 5)
2.498812082006561
random.uniform(1, 5)
2.7558465201782525
random.uniform(1, 5)
3.0337059529999273

相关链接

Morty Proxy This is a proxified and sanitized view of the page, visit original site.