python随机取值
这里主要用到random模块
一
random.random()
随机生成0-1之间的浮点数:
import random
print(random.random())
二
random.randint(1,9)
随机生成1-9的整数:
import random
print(random.randint(1,9))
实际操作中,列表等有序序列也可以用这种方法随机取值,但是这种效率较慢:
import random
list1=[1,3,5,6,7]
ln=len(list1)
a=random.randint(0,ln-1) #这里ln-1是因为序列切片从0开始算的,而randint()能取到结束值,所以要-1
print(list1[a])
三
random.choice('序列')
从序列中随机选取一个元素,有序序列:即为有序的,常见的有序序列有:元组、列表、字符串
import random
print(random.choice('avbc'))
对于字典中获取随机,不建议使用choice(),字典中,只能是{1:‘a’}这种可用,所以字典中,建议使用random.sample(dict.keys(),n)
random.sample(seq,n):从序列seq中选择n个随机且独立的元素
import random
a={'a':1,'b':2,'c':3}
print(random.sample(a.keys(),2)) #获取字典中的一个key,是列表形式,所以需要提取其中的key,2表示获取的个数的参数值
random.sample()也可以取列表的值:
import random
a=[1,3,5,6,7]
#适用于随机取一组值, 返回一个list
print(random.sample(a,2))
四
random.randrange(start,stop,step)
获取start到stop直接的数,按照step递增,stop取不到,递增数可不写,默认为1,
import random
print(random.randrange(1,10,2))
五
打乱序列使用random.shuffle()
import random
a=[1,3,5,6,7]
random.shuffle(a)
print(a)