random的常用方式

时间:2022-06-21 03:20:52

Python中的random模块用于生成随机数

1.random.random()

#用于生成一个0~1的随机浮点数:0<=n<1.0

>>> import random
>>> random.random()
0.8513446516720323
>>>

2.random.uniform(a,b)

#用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。如果a <b,则生成的随机数n: a <= n <= b。如果 a >b, 则 b <= n <= a。

>>> import random
>>> print(random.uniform(1,10))
9.959030833588626
>>> print(random.uniform(10,1))
1.6345933664294865
>>>

3.random.randint(a, b)

#用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b

>>> import random
>>> random.randint(1,10)
2
>>>

4.random.randrange([start], stop[, step])
 #从指定范围内,按指定基数递增的集合中 获取一个随机数。

random.randrange(10, 30, 2),结果相当于从[10, 12, 14, 16, ... 26, 28]序列中获取一个随机数。random.randrange(10, 30, 2)在结果上与 random.choice(range(10, 30, 2) 等效。

>>> import random

>>> print(random.randrange(10,30,2))
22
>>>

5.random.choice(sequence)

#参数sequence表示一个有序类型。从序列中获取一个随机元素.sequence在python不是一种特定的类型,而是泛指一系列的类型。list, tuple, 字符串都属于sequence。

>>> lst = ['1503955', '1567359', '1562164', '1559030', '1562835']
>>> random.choice(lst)
'1559030'
>>>

6.random.sample(sequence, k)

#从指定序列中随机获取指定长度的片断并随机排列。sample函数不会修改原有序列。

>>> lst = ['1503955', '1567359', '1562164', '1559030', '1562835']
>>> random.sample(lst,1)
['1562835']
>>> random.sample(lst,2)
['1562164', '1559030']
>>>

7.random.shuffle(x[, random])

#用于将一个列表中的元素打乱,即将列表内的元素随机排列,,返回值为“None”

>>> import random
>>> lst = ['1503955', '1567359', '1562164', '1559030', '1562835']
>>> print(random.shuffle(lst))
None
>>> random.shuffle(lst)
>>> lst
['1562835', '1567359', '1562164', '1503955', '1559030']
>>> lst
['1562835', '1567359', '1562164', '1503955', '1559030']