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培训机构:开发教育。
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!