美文网首页
random模块

random模块

作者: 失忆的蝴蝶 | 来源:发表于2022-03-26 11:04 被阅读0次

random随机模块
代码实现的随机实际上都是伪随机,都是按照某种规则实现的随机,既然是按照某种规则,实际上就有迹可循,是一种伪随机
返回0-1之间的随机浮点数,左闭右开

print(random.random())

返回两个整数之间的随机整数,闭区间

print(random.randint(1, 5))  

random.choice(seq)返回一个列表,元组或字符串的随机项
从非空序列中随机选取一个数据并返回,该序列可以是list、tuple、str、set

ls = ('a', 'b', 'v', 'c', '10')
print(random.choice(ls))

2.random.choices(population,weights=None,*,cum_weights=None,k=1)函数
population:是指定的序列,可以是列表、元组、字符串等。
weights:相对权重。
cum_weights:累加权重。
k:选取次数。
作用:从指定的序列中随机选取k次数据,返回一个列表,可以设置权重。

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

举例:

import random
a = [1,2,3,4,5]
print(random.choices(a,k=6))

解析:重复6次从列表a中的各个成员中选取一个数输出,各个成员出现概率基本持平。
结果:[5, 4, 5, 4, 1, 3](随机生成的)

print(random.choices(a,weights=[0,0,1,0,0],k=6))

解析:重复6次从列表a中提取3,最终得到[3, 3, 3, 3, 3, 3]
结果:[3, 3, 3, 3, 3, 3](固定结果)

print(random.choices(a,weights=[1,1,1,1,1],k=6))

解析:重复6次从列表a中的各个成员中选取一个数输出,各个成员出现概率基本持平。
结果:[5, 4, 3, 5, 4, 3](随机生成的)

print(random.choices(a,cum_weights=[1,1,1,1,1],k=6))

结果:[1, 1, 1, 1, 1, 1](固定结果)
1
2
3
4
5
6
7
8
9
10
11
12
13
可以自己多输出几次看看规律。

结论:

参数weights设置相对权重,它的值是一个列表,设置之后,每一个成员被抽取到的概率就被确定了。
比如weights=[1,2,3,4,5],那么第一个成员的概率就是P=1/(1+2+3+4+5)=1/15。

cum_weights设置累加权重,Python会自动把相对权重转换为累加权重,即如果你直接给出累加权重,
那么就不需要
给出相对权重,且Python省略了一步执行。
比如weights=[1,2,3,4],那么cum_weights=[1,3,6,10]
这也就不难理解为什么cum_weights=[1,1,1,1,1]输出全是第一个成员1了。

相关文章

  • random模块和numpy.random模块用法总结

    python中的random模块 numpy模块的random模块 numpy.random.rand(d0, d...

  • Lesson 031 —— random 模块

    Lesson 031 —— random 模块 关于 random 模块的一些方法介绍。 random.rando...

  • Python pygame之大球吃小球

    本次采用了pygame模块,random模块,math模块。random模块用于随机颜色math模块用了sqrt函...

  • 随机数

    random python自带random模块,用于生成随机数。Python标准库中的[random模块],可以生...

  • python random模块总结

    代码开始出加入import random导入random模块 1、random.random random.ran...

  • Python 标准库

    随机数random模块random.seed(10)random.random() #0.571402594...

  • 14.random模块

    random模块 1). random常用内置函数 引入random模块 返回随机整型,不包含末位值 随机返回In...

  • random

    python模块之random 1、random python中的random模块用于生成随机数。下面介绍常用的一...

  • python random模块

    一、python标准库中的random模块常用的方法 random.random random.random()用...

  • Python 入门之 内置模块 -random模块

    Python 入门之 内置模块 -- random模块 1、random模块 (1)选择1-50之间随机的整数 (...

网友评论

      本文标题:random模块

      本文链接:https://www.haomeiwen.com/subject/zizbhrtx.html