python内置函数random

本文详细介绍了Python中random模块的各种常用函数及其用法,包括生成指定范围内的随机数、从序列中随机选择元素等,并提供了丰富的示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、random.random()
1.1作用

随机生成[0, 1)之间的浮点数

1.2示例代码
import random
print(random.random())
print(random.random())
print(random.random())
print(random.random())
print(random.random())
#结果
0.5766197578353556
0.57247327891827
0.4462615472400666
0.11451953086256073
0.36761261496444264
二、random.randint(a,b)
2.1 作用

随机生成[a,b]范围内一个整数。

2.2 示例代码
import random
print(random.randint(0, 20))
print(random.randint(0, 20))
print(random.randint(0, 20))
print(random.randint(0, 20))
print(random.randint(0, 20))
#结果
18
11
20
16
20
三、random.randrange(a,b,step)
3.1作用
  • 不指定step,随机生成[a,b)范围内一个整数。
  • 指定step,step作为步长会进一步限制[a,b)的范围,比如randrange(0,11,2)意即生成[0,11)范围内的随机偶数。
  • 不指定a,则默认从0开始。
3.2示例代码
import random
print(random.randrange(0, 10,))
print(random.randrange(0, 10))
print(random.randrange(0, 10, 2))
print(random.randrange(0, 10, 2))
print(random.randrange(0, 10, 3))
print(random.randrange(0, 10, 3))
#结果
3
4
2
2
6
6
四、random.uniform(a,b)
4.1 作用

产生[a,b]范围内一个随机浮点数。

4.2 示例代码
import random
print(random.uniform(0, 5))
print(random.uniform(0, 5))
print(random.uniform(0, 5))
print(random.uniform(0, 5))
print(random.uniform(0, 5))
1.3417377618818764
0.11974945860308173
3.2462974509594766
2.3097156739199463
1.9782236542891152
五、random.choice(seq)
5.1 作用

从非空序列中随机选取一个数据并带回,该序列可以是list、tuple、str、set。如果序列为空,则弹出IndexError错误。

5.2 示例代码
import random
print(random.choice('AutomaticDriving')) 
print(random.choice('AutomaticDriving')) 
print(random.choice('AutomaticDriving')) 
print(random.choice('AutomaticDriving')) 
#结果
D
o
u
c
六 、random.choices(population,weights=None,*,cum_weights=None,k=1)
6.1 作用

从集群中随机选取k次数据,返回一个列表,可以设置权重。

注意每次选取都不会影响原序列,每一次选取都是基于原序列。

6.2 参数解释
  • population:集群
  • weights:相对权重
  • cum_weights:累加权重
  • k:选取次数
6.3示例代码
import random
a = [1,2,3,4,5]
#1
print(random.choices(a,k=5))
#2
print(random.choices(a,weights=[0,0,1,0,0],k=5))
#3
print(random.choices(a,weights=[1,1,1,1,1],k=5))
#4
print(random.choices(a,cum_weights=[1,1,1,1,1],k=5))
#结果
[1, 2, 1, 4, 1]
[3, 3, 3, 3, 3]
[3, 5, 2, 3, 2]
[1, 1, 1, 1, 1]
6.4示例代码解读
  • #1 : 重复输出10次列表a中的各个成员出现概率基本持平。
  • #2 : 重复输出10次每次输出均得到[3,3,3,3,3]结果。
  • #3 : 重复输出10次列表a中的各个成员出现概率基本持平。
  • #4 : 重复输出10次每次输出均得到[1,1,1,1,1]结果。
  1. 参数weights设置相对权重,它的值是一个列表,设置之后,每一个成员被抽取到的概率就被确定了。
    比如weights=[1,2,3,4,5],那么第一个成员的概率就是P=1/(1+2+3+4+5)=1/15。
  2. cum_weights设置累加权重,Python会自动把相对权重转换为累加权重,即如果你直接给出累加权重,那么就不需要
    给出相对权重,且Python省略了一步执行。
    比如weights=[1,2,3,4],那么cum_weights=[1,3,6,10]
    这也就不难理解为什么cum_weights=[1,1,1,1,1]输出全是第一个成员1了。
七、random.sample(population,k)
7.1 作用

从集群population中选取k个元素,返回一个列表,集群可以是list、tuple、str、set。
与random.choices()的区别:一个是选取k次,一个是选取k个,选取k次的相当于选取后又放回,选取k个则选取后不放回。故random.sample()的k值不能超出集群的元素个数。

7.2示例代码
import random
a = ['SAIC', 'FAW', 'Geely', 'chengcheng', 'chengan']
print(random.sample(a, 3))
print(random.sample(a, 3))
print(random.sample(a, 3))
['Geely', 'chengan', 'chengcheng']
['chengan', 'FAW', 'chengcheng']
['FAW', 'chengcheng', 'SAIC']
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值