Python标准库中的random函数,可以生成随机浮点数、整数、字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据等。本文主要讲random模块下面相关函数random();uniform();randint();randrange();choice();shuffle();sample()的用法。
用于生成一个0-1的随机浮点数:0<=n<1.0
import random
a = random.random()
b = random.random()
print(a,b)
#输出:0.8713228475284301 0.5464131282918054
用于生成一个指定范围内的随机浮点数,两个参数中,一个是上限,一个下限,位置可以互换。
import random
a = random.uniform(5,10)
b = random.uniform(10,5)
print(a,b)
#输出:9.755038653608812 6.251824748657013
用于声场一个指定范围内的整数。其中,a是下限,b是上限,生成随机数n:a<=n<=b。
import random
a = random.randint(2,4)
b = random.randint(1,10)
print(a,b)
#输出:4 4
从指定范围中,按指定基数递增的集合中获取一个随机数,参数必须为整数。start默认为0,step默认为1,所以,单个参数时,最小是1,不然会报错。
import random
a = 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
从序列中获取 一个随机元素,参数sequence表示一个有序类型,泛指一系列类型,如list,tuple,字符串。
import random
list1=['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
用于将一个列表中的元素打乱,即将列表中的元素随机排列。
import random
list1=['a','b','c']
random.shuffle(list1)
print(list1)
#输出:['b', 'c', 'a']
指从指定序列中随机获取指定长度的片段。sample函数不会修改原有的序列。
import random
list1=['a','b','c']
slice1=random.sample(list1,2)
print(list1)
print(slice1)
# 输出:
# ['a', 'b', 'c']
# ['a', 'c']