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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值