在学习和使用python的过程中,经常会用到random模块,几天就把搜索一下random模块的相关资料,整理一下!
random();uniform();randint();randrange();choice();shuffle();sample().
random模块用于生成随机数。下面依次介绍random中常用的函数及其功能。random.random() 用于生成一个0-1的随机浮点数:0<=n<1.0
import random
a = random.random()
b = random.random()
print(a,b)
#0.14950126763787908 0.18635283756700527
这个平常用的还比较少。
2. random.uniform(a,b) 用于生成一个指定范围内的随机浮点数,两个参数中,一个是上限,一个是下限,位置可以互换。if a
import random
a = random.uniform(5,10)
b = random.uniform(10,5)
print(a,b)
#6.9049288850125485 9.36059520278101
3. random.randint(a,b) 用于声场一个指定范围内的整数。其中,参数a是下限,b是上限,生成的随机数n:a<=n
import random
a = random.randint(2,4)
b = random.randint(1,5)
print(a,b)
#2 3
4. random.randrange([start],stop,[step]) 从指定范围中,按指定基数递增的集合中获取一个随机数。参数必须为整数,start默认为0,step默认为1,所以,写单个参数时,最小是1,不然会报错哦。
import random
a = random.randrange(1,10,2)
b = random.randrange(1,10,2)
c = random.randrange(50)
print(a,b)
# 2 3
print(c)
# 48
5. random.choice(sequence) 从序列中获取一个随机元素,参数sequence表示一个有序类型,泛指一系列类型,如list,tuple,字符串。
import random
list_1 = ['python','java','c']
str_1 = "i love python"
tuple_1 = (1,2,'kai')
print(random.choice(list_1)) #java
print(random.choice(str_1)) #v
print(random.choice(tuple_1)) #2
6. random.shuffle(x,[random]) 用于将一个列表中的元素打乱,即将列表中的元素随机排列。
import random
list_1 = ['python','java','c','c++']
random.shuffle(list_1)
print(list_1)
# ['c', 'python', 'java', 'c++']
后面的参数random我试着加上,但好像也没有什么作用,只是在输出的列表后加了:
7. random.sample(sequence,k) 从指定序列中随机获取指定长度的片段。sample函数不会修改原有的序列。
import random
list_1 = ['one','two','three','four']
slice = random.sample(list_1,2)
print(list_1) # ['one', 'two', 'three', 'four']
print(slice) # ['two', 'three']
最后还得说一下随机种子数,要每次产生随机数相同就要设置种子,相同种子数的random对象,相同次数生成的数字时完全相同的。
就是这样啦。