hopeless-dream

导航

Python随机数

Python中生成随机数会用到两个模块:

  1. random模块
  2. numpy库中的random函数

random模块

random模块有7个内置函数

random()函数

随机生成[0,1)的一个浮点数

In [1]: import random                                                                                                     

In [2]: random.random()                                                                                                   
Out[2]: 0.790779121768541

In [3]: random.random()                                                                                                   
Out[3]: 0.24973021250373717

uniform(a,b)函数

随机生成一个[a,b)区间的浮点数

In [4]: random.uniform(2,4)                                                                                               
Out[4]: 2.6913975385391598

In [5]: random.uniform(1,4)                                                                                               
Out[5]: 2.3182404614021372

In [6]: random.uniform(1,4)                                                                                               
Out[6]: 1.9318705894038843

randint()函数

随机生成一个[a,b)区间的随机整数

In [8]: random.randint(1,5)                                                                                               
Out[8]: 5

In [9]: random.randint(1,5)                                                                                               
Out[9]: 1

In [10]: random.randint(1,5)                                                                                              
Out[10]: 3

choice(sequence)函数

从一个非空序列中随机挑选一个元素

In [16]: random.choice([[1,2],(5,6)])                                                                                     
Out[16]: (5, 6)

In [17]: random.choice([[1,2],(5,6)])                                                                                     
Out[17]: [1, 2]

In [18]: random.choice(range(10))                                                                                         
Out[18]: 2

randrange ([start,] stop [,step])

从指定整数范围内,按步长step随机选取一个数字

In [19]: random.randrange(1,8,3)                                                                                          
Out[19]: 4

In [20]: random.randrange(1,8,3)                                                                                          
Out[20]: 4

In [21]: random.randrange(1,8,3)                                                                                          
Out[21]: 7

shuffle(list)

就地打乱一个列表

In [22]: lst=[1,2,2,1,5]                                                                                                  

In [23]: random.shuffle(lst)                                                                                              

In [24]: lst                                                                                                              
Out[24]: [2, 5, 1, 2, 1]

random.sample(sequence,k)

从某一序列中获取指定长度的片段,乱序

In [25]: a = ['香蕉','苹果','橘子','眼影','眼线']                                                                         

In [26]: random.sample(a,3)                                                                                               
Out[26]: ['眼线', '眼影', '橘子']

In [27]: random.sample(a,2)                                                                                               
Out[27]: ['橘子', '眼线']

 

posted on 2020-07-28 15:08  hopeless-dream  阅读(282)  评论(0编辑  收藏  举报