python--random库基本介绍
random库是使用随机数的Python标准库
python中用于生成伪随机数的函数库是random
因为是标准库,使用时候只需要import random
random库包含两类函数,常用的共9个
基本随机函数: seed(), random()
seed(a=None) 初始化给定的随机数种子,默认为当前系统时间
>>>random.seed(10) #产生种子10对应的序列 random() 生成一个[0.0,1.0)之间的随机小数
>>>random.random() 0.5714025946899135 #随机数产生与种子有关,如果种子是1哦,第一个数必定是这个 使用随机数种子的好处是可以复现有随机数的程序
常用的 经过扩展的 random()方法
扩展随机函数:randint(), getrandbits(), uniform(), randrange(), choice(), shuffle(),sample()
在random库中,最基本的是seed 和random 函数,但时功能比较单一,为此产生了6个扩展随机数函数 扩展随机数函数 函数
描述:randint(a,b) 生成一个[a,b]之间的整数
>>>random.randint(10,100) randrange(m,n[,k]) 生成一个[m,n)之间以k为步长的随机整数
>>>random.randrange(10,100,10) getrandbits(k) 生成一个k比特长的随机整数
>>>random.getrandbits(16) 37885 uniform(a,b) 生成一个[a,b]之间的随机小数
>>>random.uniform(10,100) 16.848041210321334 choice(seq) 序列相关 从序列中随机选择一个元素
>>>random.choice([1, 2, 3, 4, 5, 6, 7, 8, 9]) 8 shuffle(seq) 序列相关 将序列seq中元素随机排列,返回打乱后的序列
>>>s=[1, 2, 3, 4, 5, 6, 7, 8, 9]; random.shuffle(s); print(s) [9, 4, 6, 3, 5, 2, 8, 7, 1]
举例一个常见的例子
随机整数: 代码如下:
>>> import random
>>> random.randint(0,99) # 21 随机选取0到100间的偶数:
代码如下:
>>> import random
>>> random.randrange(0, 101, 2) # 42 随机浮点数:
代码如下:
>>> import random
>>> random.random() 0.85415370477785668
>>> random.uniform(1, 10) # 5.4221167969800881 随机字符:
代码如下:
>>> import random
>>> random.choice('abcdefg&#%^*f') # 'd' 多个字符中选取特定数量的字符:
代码如下:
>>> import random random.sample('abcdefghij', 3) # ['a', 'd', 'b'] 多个字符中选取特定数量的字符组成新字符串:
代码如下:
>>> import random
>>>''.join( random.sample(['a','b','c','d','e','f','g','h','i','j'], 3) ) # 'fih' 随机选取字符串:
代码如下:
>>> import random
>>> random.choice ( ['apple', 'pear', 'peach', 'orange', 'lemon'] ) # 'lemon' 洗牌:
代码如下:
>>> import random
>>> items = [1, 2, 3, 4, 5, 6]
>>> random.shuffle(items)
>>> items # [3, 2, 5, 6, 4, 1]