(转)Python random模块
原文:https://my.oschina.net/cuffica/blog/33336
https://www.cnblogs.com/renpingsheng/p/7105296.html
random是用于生成随机数的,我们可以利用它随机生成数字或者选择字符串。
- random.random() 用于生成一个随机浮点数:range[0.0,1.0)
1 2 | import random random.random() #输出 0.5487876445645461 |
- random.uniform(a,b) 用于生成一个指定范围内的随机浮点数,a,b为上下限,只要a!=b,就会生成介于两者之间的一个浮点数,若a=b,则生成的浮点数就是a
1 2 3 4 | import random random.uniform( 10 , 20 ) #输出 15.999997038152358 random.uniform( 20 , 10 ) #输出 12.718038067741021 random.uniform( 10 , 10 ) #输出 10.0 |
- random.randint(a,b) 用于生成一个指定范围内的整数,a为下限,b为上限,生成的随机整数a<=n<=b;若a=b,则n=a;若a>b,报错
1 2 3 4 | import random random.randint( 10 , 20 ) #输出 12 random.randint( 10 , 10 ) #输出 10 random.randint( 20 , 10 ) #Error |
- random.randrange([start], stop [,step]) 从指定范围内,按指定基数递增的集合中获取一个随机数,基数缺省值为1
1 2 3 4 | import random random.randrange( 10 , 100 ) #输出为10到100间的任意数 random.randrange( 10 , 100 , 4 ) #输出为10到100内以4递增的序列[10,14,18,22...] random.choice( range ( 10 , 100 , 4 )) #输出在结果上与上一条等效 |
- random.choice(sequence) 从序列中获取一个随机元素,参数sequence表示一个有序类型,并不是一种特定类型,泛指list,tuple,字符串等
1 2 3 4 5 6 7 8 9 | import random random.choice( range ( 10 )) #输出0到10内随机整数 random.choice( range ( 10 , 100 , 2 )) #输出随机值[10,12,14,16...] random.choice( "I love python" ) #输出随机字符I,o,v,p,y... random.choice(( "I love python" )) #同上 random.choice([ "I love python" ]) #输出“I love python” random.choice( "I" , "love" , "python" ) #Error random.choice(( "I" , "love" , "python" )) #输出随机字符串“I”,“love”,“python” random.choice([ "I" , "love" , "python" ]) #输出随机字符串“I”,“love”,“python” |
-
random.shuffle(x[,random]) 用于将一个列表中的元素打乱
1 2 3 4 | import random list = [ 'I' , 'love' , 'python' , 'very' , 'much' ] random.shuffle( list ) print list #输出乱序list |
- random.sample(sequence,k) 从指定序列中随机获取k个元素作为一个片段返回,sample函数不会修改原有序列
1 2 3 4 5 6 7 8 9 10 | import random a = '123456789' b = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ] c = [ 'a' , 'b' , 'c' , 'd' , 'e' ] random.sample(a, 3 ) random.sample(b, 3 ) random.sample(c, 3 ) #随机取三个元素最为一个片段返回[6,4,3] print a print b print c #a,b,c值不变 |
技术链接
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步