1.随机浮点数
1.1 产生0-1之间的随机数
random.random():随机产生(0,1)之间的随机浮点数:0<=n<1.0
import random
print(random.random())
result:
0.3778267059358993
1.2 随机生成指定范围内的浮点数
random.uniform(a,b):随机生成指定范围内的浮点数。,两个参数中,一个是上限,一个是下限,位置可以互换。if a<b,则生成的随机数n:a<=n<b;else 同理。
1.2.1 a<b的情形
print(random.uniform(2, 9))
result:
7.290838817752012
1.2.2 a=b的情形
print(random.uniform(2, 2))
result:
2.0
1.2.3 a>b的情形
print(random.uniform(9, 2))
result:
3.0627376403657127
2.随机生成指定范围[a,b]内的整数
random.randint(a,b):随机生成指定范围[a,b]内的整数。其中,参数a是下限,b是上限,生成的随机数n:a<=n<=b。
2.1 a<b的情形
print(random.randint(2, 5))
result:
5
2.2 a=b的情形
print(random.randint(2, 2))
result:
2
3.随机生成指定范围[a,b)内的整数
random.randrange([a],b,[step]) 从指定范围中,按指定基数递增的集合中获取一个随机数。参数必须为整数,a默认为0,step默认为1,且a<b
3.1 只指定b的情形
print(random.randrange(5))
result:
2
3.2 指定a和b的情形
print(random.randrange(3, 5))
result:
4
3.3 指定a,b和step的情形
print(random.randrange(1, 101, 5))
result:
51
4.随机生成指定序列中的元素
random.choice(sequence):从序列中获取一个随机元素,参数sequence表示一个有序类型,泛指一系列类型,如list,tuple,字符串。
4.1随机生成指定字符串中的元素
print(random.choice("hello"))
result:
o
4.2 随机生成指定列表中的元素
print(random.choice([1, 2, 3, 4]))
result:
2
4.3 随机生成指定元组中的元素
print(random.choice(('abc', 123, 'hello')))
result:
hello
5.随机生成指定序列中指定个数的元素
random.sample(sequence,k) 从指定序列中随机获取指定长度的片段。sample函数不会修改原有的序列。和前面的方法不同,这个方法只要sequence,k固定,产生的结果也是固定不变的。
list_1 = ['one', 'two', 'three', 'four']
slice = random.sample(list_1, 2)
print(f'list_1==={list_1}')
print(f'slice==={slice}')
result:
list_1===['one', 'two', 'three', 'four']
slice===['four', 'one']
6.打乱序列的元素
random.shuffle(x,[random]) 用于将一个列表中的元素打乱,即将列表中的元素随机排列。
lst1 = [1, 2, 3, 4]
print(f'打乱前:{lst1}')
random.shuffle(lst1)
print(f'打乱后:{lst1}')
result:
打乱前:[1, 2, 3, 4]
打乱后:[3, 1, 2, 4]