Python random模块
random是用于生成随机数的,我们可以利用它随机生成数字或者选择字符串。
- random.random() 用于生成一个随机浮点数:range[0.0,1.0)
1 |
import random |
2 |
random.random() #输出
0.5487876445645461 |
- random.uniform(a,b) 用于生成一个指定范围内的随机浮点数,a,b为上下限,只要a!=b,就会生成介于两者之间的一个浮点数,若a=b,则生成的浮点数就是a
1 |
import random |
2 |
random.uniform( 10 , 20 ) #输出
15.999997038152358 |
3 |
random.uniform( 20 , 10 ) #输出
12.718038067741021 |
4 |
random.uniform( 10 , 10 ) #输出
10.0 |
- random.randint(a,b) 用于生成一个指定范围内的整数,a为下限,b为上限,生成的随机整数a<=n<=b;若a=b,则n=a;若a>b,报错
1 |
import random |
2 |
random.randint( 10 , 20 ) #输出
12 |
3 |
random.randint( 10 , 10 ) #输出
10 |
4 |
random.randint( 20 , 10 ) #Error |
- random.randrange([start], stop [,step]) 从指定范围内,按指定基数递增的集合中获取一个随机数,基数缺省值为1
1 |
import random |
2 |
random.randrange( 10 , 100 ) #输出为10到100间的任意数 |
3 |
random.randrange( 10 , 100 , 4 ) #输出为10到100内以4递增的序列[10,14,18,22...] |
4 |
random.choice( range ( 10 , 100 , 4 )) #输出在结果上与上一条等效 |
- random.choice(sequence) 从序列中获取一个随机元素,参数sequence表示一个有序类型,并不是一种特定类型,泛指list,tuple,字符串等
1 |
import random |
2 |
random.choice( range ( 10 )) #输出0到10内随机整数 |
3 |
random.choice( range ( 10 , 100 , 2 )) #输出随机值[10,12,14,16...] |
4 |
random.choice( "I
love python" ) #输出随机字符I,o,v,p,y... |
5 |
random.choice(( "I
love python" )) #同上 |
6 |
random.choice([ "I
love python" ]) #输出“I
love python” |
7 |
random.choice( "I" , "love" , "python" ) #Error |
8 |
random.choice(( "I" , "love" , "python" )) #输出随机字符串“I”,“love”,“python” |
9 |
random.choice([ "I" , "love" , "python" ]) #输出随机字符串“I”,“love”,“python” |
-
random.shuffle(x[,random]) 用于将一个列表中的元素打乱
1 |
import random |
2 |
list = [ 'I' , 'love' , 'python' , 'very' , 'much' ] |
3 |
random.shuffle( list ) |
4 |
print list #输出乱序list |
-
random.sample(sequence,k) 从指定序列中随机获取k个元素作为一个片段返回,sample函数不会修改原有序列
01 |
import random |
02 |
a = '123456789' |
03 |
b = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ] |
04 |
c = [ 'a' , 'b' , 'c' , 'd' , 'e' ] |
05 |
random.sample(a, 3 ) |
06 |
random.sample(b, 3 ) |
07 |
random.sample(c, 3 ) #随机取三个元素最为一个片段返回[6,4,3] |
08 |
print a |
09 |
print b |
10 |
print c #a,b,c值不变 |