Random
约 285 个字 15 行代码 预计阅读时间 1 分钟
个人感觉Python的随机数功能比C/C++的随机数智能太多了
1. 生成随机浮点数
- random.random()
: 生成一个 0 到 1 之间的随机浮点数(不包括 1)。
random.uniform(a, b)
: 生成一个范围在a
到b
之间的随机浮点数。
random.randint(a, b)
: 生成一个范围在 a
到 b
之间的随机整数(包括 a
和 b
)。
random.randrange(start, stop[, step])
: 生成一个在start
和stop
之间(不包括stop
)按step
增加的随机整数。
random.choice(seq)
: 从序列 seq
中随机选择一个元素。
random.choices(population, weights=None, k=1)
: 从population
中随机选择k
个元素,返回包含k
个元素的列表。可以通过weights
指定各元素的选择概率。
items = ['apple', 'banana', 'cherry']
print(random.choices(items, weights=[10, 1, 1], k=2)) # 可能输出 ['apple', 'banana']
random.sample(population, k)
: 从population
中随机选择k
个不同的元素,返回包含k
个元素的列表。
random.shuffle(seq)
: 就地打乱序列 seq
的顺序。
5. 随机种子
- random.seed(a=None)
: 初始化随机数生成器。如果指定了 a
,随机数生成器将以 a
为种子,这样每次运行代码生成的随机数都是一样的。