文章目录

  • 前言
  • random常用方法
    • random.random()
    • random.uniform(a,b)
    • random.randint(a,b)
    • random.randrange([start], stop[, step])
    • random.choice(sequence)
    • random.shuffle(x,[random])
    • random.sample(sequence,k)

前言

Python标准库中的random函数,可以生成随机浮点数、整数、字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据等。本文主要讲random模块下面相关函数random();uniform();randint();randrange();choice();shuffle();sample()的用法。


random常用方法

random.random()

用于生成一个0-1的随机浮点数:0<=n<1.0

import randoma = random.random()b = random.random()print(a,b)#输出:0.8713228475284301 0.5464131282918054

random.uniform(a,b)

用于生成一个指定范围内的随机浮点数,两个参数中,一个是上限,一个下限,位置可以互换。

import randoma = random.uniform(5,10)b = random.uniform(10,5)print(a,b)#输出:9.755038653608812 6.251824748657013

random.randint(a,b)

用于声场一个指定范围内的整数。其中,a是下限,b是上限,生成随机数n:a<=n<=b。

import randoma = random.randint(2,4)b = random.randint(1,10)print(a,b)#输出:4 4

random.randrange([start], stop[, step])

从指定范围中,按指定基数递增的集合中获取一个随机数,参数必须为整数。start默认为0,step默认为1,所以,单个参数时,最小是1,不然会报错。

import randoma = random.randrange(4)#随机取1-4之间一个整数。b = random.randrange(1,10,2) #随机取1-10间的奇数。c = random.randrange(1,101,2) #随机取1-100间的偶数。等价于random.choice(range(1,101,2))print(a,b,c)#输出:2 5 24

random.choice(sequence)

从序列中获取 一个随机元素,参数sequence表示一个有序类型,泛指一系列类型,如list,tuple,字符串。

import randomlist1=['a','b','c']tuple1=(1,2,"hello")str1="hello world"print(random.choice(list1))print(random.choice(tuple1))print(random.choice(str1))# 输出:# b# hello# l

random.shuffle(x,[random])

用于将一个列表中的元素打乱,即将列表中的元素随机排列。

import randomlist1=['a','b','c']random.shuffle(list1)print(list1)#输出:['b', 'c', 'a']

random.sample(sequence,k)

指从指定序列中随机获取指定长度的片段。sample函数不会修改原有的序列。

import randomlist1=['a','b','c']slice1=random.sample(list1,2)print(list1)print(slice1)# 输出:# ['a', 'b', 'c']# ['a', 'c']