Python中的random包
如果你已经了解伪随机数(psudo-randomnumber)的原理,那么你可以使用如下:
random.seed(x)
来改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。
1)随机挑选和排序
random.choice(seq)#从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。
random.sample(seq,k)#从序列中随机挑选k个元素
random.shuffle(seq)#将序列的所有元素随机排序
2)随机生成实数
下面生成的实数符合均匀分布(uniformdistribution),意味着某个范围内的每个数字出现的概率相等:
random.random()#随机生成下一个实数,它在[0,1)范围内。
random.uniform(a,b)#随机生成下一个实数,它在[a,b]范围内。
下面生成的实数符合其它的分布(你可以参考一些统计方面的书籍来了解这些分布):
random.gauss(mu,sigma)#随机生成符合高斯分布的随机数,mu,sigma为高斯分布的两个参数。
random.expovariate(lambd)#随机生成符合指数分布的随机数,lambd为指数分布的参数。
此外还有对数分布,正态分布,Pareto分布,Weibull分布,可参考下面链接:
http://docs.python.org/library/random.html
假设我们有一群人参加舞蹈比赛,为了公平起见,我们要随机排列他们的出场顺序。我们下面利用random包实现:
importrandom
all_people=['Tom','Vivian','Paul','Liya','Manu','Daniel','Shawn']
random.shuffle(all_people)
fori,nameinenumerate(all_people):
print(i,':'+name)
以上内容为大家介绍了Python中的random包,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。
相关推荐HOT
更多>>文本处理用c还是用python
文本处理python与c的对比:如下c++语言:C++语言实现C++中没有实现split功能的函数,下面用C++STL中的一些函数模拟实现split功能。#include#inc...详情>>
2023-11-06 23:42:24Python什么是函数式编程?
函数式编程使用一系列的函数解决问题。函数仅接受输入并产生输出,不包含任何能影响产生输出的内部状态。任何情况下,使用相同的参数调用函数始...详情>>
2023-11-06 17:27:35列举python常见的内置函数
abs()返回数字的绝对值map根据函数对指定序列做映射map()函数接收两个参数,一个是函数,一个是可迭代对象,map将传入的函数依次作用到序列的每...详情>>
2023-11-06 15:21:35Python之select、poll、epoll模型的区别
select、poll、epoll模型的区别?(属于多路复用IO的模型)都是i/o多路复用的机制,监视多个socket是否发生变化,本质上都是同步i/oselect,poll实...详情>>
2023-11-06 14:44:24