python random模块介绍

一、random.random()git

  random.random() 的功能是随机返回一个 0-1范围内的浮点数。dom

import random
a = random.random()
print(a, type(a))
结果:
0.8598833637621788 <class 'float'>

二、random.randrange(start,stop[,step])函数

  random.randrange(),随机返回start到stop之间的一个整数,其中不包含stop元素,即顾头不顾尾,此外还能够设置步长。spa

import random
a = random.randrange(1, 10, 2)  # 1-10之间的奇数
print(a, type(a))
结果:
3 <class 'int'>

三、random.randint(a,b)code

  随机返回[a,b]之间的整数,包括a和b,即顾头又顾尾。即random.randrange(a,b+1)orm

import random
a = random.randint(1, 5)
print(a, type(a))
结果:
5 <class 'int'>

四、random.choice(sep)blog

  random.choice(sep)函数是随机返回sep序列中的一个元素,sep非空,能够是列表、字符串、元组等。ci

import random
a = random.choice("abc1234")
b = random.choice([1, 2, 3, 4])
c = random.choice((1, 2, 3, 4))
print(a, b, c)
结果:
b 4 1

五、random.sample(population,k)字符串

  random.sample(population,k)函数是从大量的序列或集合元素中随机抽取k个独一无二的元素。get

import random
a = random.sample("1ers%#128aaee", 4)
b = random.sample({1, 2, 3, 4, 5, 6, 7, 8}, 4)  # 能够是集合
c = random.sample(range(100000), 4)  # 还能够经过range函数生成序列
d =
''.join(random.sample(string.ascii_lowercase + string.digits, 6)) # 验证码

print(a, b, c,d)
结果: ['s', 'e', '#', 'r'] [5, 2, 3, 8] [94298, 53763, 57161, 27395],dqcs9e

六、random.uniform(a,b)

  random.uniform(a,b)函数是随机返回一个[a,b]之间的浮点数。

import random
a = random.uniform(1, 6)
print(a)
结果:
2.6420055881211013

七、random.shuffle(list)

  random.shuffle(list) 函数是对一个有序序列进行打乱顺序,没有返回值。

import random
a = [1, 2, 3, 4, 5, 6, 7]
random.shuffle(a)
print(a)
结果:[4, 2, 3, 5, 6, 7, 1]
 
 

八、random.getrandbits(k)

  random.getrandbits(k)生成一个k比特长的随机整数。

import random
a = random.getrandbits(3)  # 返回[0-2**3)之间的整数
print(a)
结果:
7

九、random.choices(polulation,weights=None,*, cum_weights=None,k=1)

   random.choices(polulation,weights=None,*, cum_weights=None,k=1) 函数是从一个集群中随机选取k次数据,结果返回一个列表,元素的选取有响应的权重(或者几率),weights表示相对权重,cum_weights表示累计权重,若是设置权重,len(population) == len(weights)  或 len(population) == len(cum_weights)。

import random
a = random.choices([1, 2, 3, 4, 5], weights=[1, 0, 0, 0, 0], k=2)  # 表示第一个元素的权重为1,其他元素为0,因此只能取到第一个元素的值
print(a)
结果:[1, 1]

b = random.choices([1, 2, 3, 4, 5], weights=[1, 1, 1, 1, 1], k=2)  # 表示每一个元素的权重均为1/5,即取到每一个元素的几率相同。
print(b)
结果:[4, 1]

c = random.choices([1, 2, 3, 4, 5], cum_weights=[1, 1, 1, 1, 1], k=2)  # cum_weights = [1,1,1,1,1] 至关于weights = [1,0,0,0,0]
print(c)
结果:[1, 1]
相关文章
相关标签/搜索