random随机函数中的常用方法
1.random.random 返回一个介于左闭右开[0.0, 1.0)区间的浮点数
print(random.random())
2.random.randrange(start,stop[,step]) 返回range[start,stop)之间左闭右开
一个整数,可加step,跟range(0,10,2)类似
print(random.randrange(1,30,2))
3.random.randint(start,stop) 返回range[a,b]之间的一个整数,等价于然的range(a,b+1)
print(random.randint(0,1))
4.random.uniform(start,stop) 返回一个介于a和b之间的浮点数。如果a>b,则是b到a之间的浮点数。这里的a和b都有可能出现在结果中。
print(random.uniform(0,1)) print(random.uniform(1,0))
5.random.choice 从非空序列seq中随机选取一个元素。如果seq为空则弹出 IndexError异常,这里的seq可以是字符串,元祖,列表,包含有index和len方法的数据类型
print(random.choice('123')) print(random.choice([1,2,3])) print(random.choice((1,2,3)))
6.random.choices(population, k
) 3.6版本新增。从population集群中随机抽取K个元素(可重复)
>>>print(random.choices([1,2,3],k=1)) [2] >>>print(random.choices([1,2,3],k=2)) [1, 2] >>>print(random.choices([1,2,3],k=3)) [1, 1, 1] >>>print(random.choices([1,2,3],k=4)) [2, 1, 1, 2]
7.random.sample(population, k
)
从population样本或集合中随机抽取K个不重复的元素形成新的序列。常用于不重复的随机抽样。返回的是一个新的序列,不会破坏原有序列。要从一个整数区间随机抽取一定数量的整数,请使用sample(range(10000000), k=60)类似的方法,这非常有效和节省空间。如果k大于population的长度,则弹出ValueError异常。
>>>a = [1,2,3] >>>print(random.sample(a,2)) [1, 3] >>>print(random.sample(a,3)) [1, 3, 2] >>>print(a) [1, 2, 3] >>>print(random.sample(a,4)) ValueError: Sample larger than population or is negative
8.random.shuffle() 随机打乱序列x内元素的排列顺序。只能针对可变的序列,对于不可变序列,请使用下面的sample()方法
>>>lst = [1,2,3] >>>random.shuffle(lst) >>>print(lst) [1, 3, 2]