Python 的 random 库

本文首发于我的个人博客:Sui Xin's Blog
原文:https://suixinblog.cn/2019/09/python-random.html
作者:Sui Xin

Python 的 random 库实现了各种分布的伪随机数生成。

整数

  • random.randrange(start, stop=None, step=1):从 range(start, stop, step) 返回一个随机选择的元素。stopstep 可以缺省,stop 缺省时返回 range(start) 中的一个随机元素;
  • random.randint(a, b):返回一个 [a, b] 中的随机整数。

序列

  • random.choice(seq):从非空序列 seq 返回一个随机元素;
  • random.shuffle(x):将序列 x 随机打乱位置;
  • random.sample(population, k):从 population 中选择 k 个不重复的随机元素组成的序列,不保序。

实值

  • random.random():返回 [0, 1) 区间内的一个浮点数;
  • random.uniform(a, b):返回 a + (b-a) * random.random()

其他

random.seed(a=None):设置随机种子。
random 库还可以支持生成很多分布的实值随机数。

以相同的顺序打乱两个序列

使用 zip 模块将两个序列打包,shuffle 后拆开即可。

import random


a = ["Bob", "Jack", "Tom", "Jarry"]
b = [1, 2, 3, 4]

map_position = list(zip(a, b))
random.shuffle(map_position)
a, b = zip(*map_position)
a, b = list(a), list(b)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容