2017-07-30 22:26:19
随机函数random库的使用频率还是蛮高的,下面我就介绍一下python中random库的使用。相较于c++,Python的random库简直不要更好用。
毫无疑问,使用前需要导入random库,即import random。然后就可以尽情使用了。
Python会自行添加种子,不需要自己去添加。
一、随机实数
- random.random():无参数,将返回一个 [0,1) 的浮点数
import random
# 不需要自己添加种子,Python真的好用
print(random.random()) print(random.random()) # 0.07585186785562659 # 0.2636194113603577
- random.uniform(a,b):将返回一个 [a,b] 的浮点数
import random print(random.uniform(3,5)) print(random.uniform(6,10)) # 3.205932268055906 # 7.324613280527553
如果要返回一个在 [a,b) 的浮点数,则可以借助 random.random() 函数,使用技巧 a + (b-a)*random.random() 即可
二、随机整数
- random.randint(a,b):将返回一个 [a,b] 之间的随机整数
import random print(random.randint(3,5)) print(random.randint(6,10)) # 4 # 7
- random.randrange(start,end,step):将返回 [start,end) 之间步长为step的随机整数。start缺省为0,step缺省为1
import random # 输出 100 <= number < 1000 间的偶数 print ("randrange(100, 1000, 2) : ", random.randrange(100, 1000, 2))# 输出 100 <= number < 1000 间的其他数 print ("randrange(100, 1000, 3) : ", random.randrange(100, 1000, 3)) # randrange(100, 1000, 2) : 976 # randrange(100, 1000, 3) : 520
三、随机序列值
- random.choice(seq):从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数
import random print ("choice([1, 2, 3, 5, 9]) : ", random.choice([1, 2, 3, 5, 9]))print ("choice('A String') : ", random.choice('A String'))# choice([1, 2, 3, 5, 9]) : 2 # choice('A String') : n
- random.shuffle (lst):将序列的所有元素随机排序。lst 可以是一个序列或者元组,将返回随机排序后的序列
import random list = [20, 16, 10, 5]; random.shuffle(list) print ("随机排序列表 : ", list) random.shuffle(list) print ("随机排序列表 : ", list) # 随机排序列表 : [16, 5, 10, 20] # 随机排序列表 : [16, 5, 20, 10]
- random.sample(seq,k):从seq从选取k个互异的样本,并形成一个列表返回
import random print(random.sample('abcdefghij',3)) # ['e', 'c', 'd']