一、random模块简介
Python标准库中的random函数,可以生成随机浮点数、整数、字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据等,即用来生成随机数。
二、random模块重要函数
(1)random.random()函数
random.random()
函数,它会生成一个随机的浮点数,范围是在0.0~1.0之间
1
2
3
4
5
6
7
|
>>> import random >>> print (random.random()) 0.2203627723039484 >>> print (random.random()) 0.124968990086466 >>> print (random.random()) 0.4156471793210381 |
注意:不能这样写random.Random()
1
2
|
>>> print (random.Random()) <random.Random object at 0x00000236EE7E9A88 > |
(2)random.randint()函数
random.randint()函数原型为:random.randint(a, b)
,随机生一个整数int类型,可以指定这个整数的范围,用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
>>> random.randint( 12 , 23 ) 12 >>> random.randint( 12 , 23 ) 19 >>> random.randint( 12 , 12 ) / / 随机值不变 12 >>> random.randint( 12 , 12 ) 12 >>> random.randint( - 8 , 12 ) 3 >>> random.randint( - 8 , 12 ) - 6 >>> random.randint( - 8 , 12 ) - 2 |
(3)random.uniform()函数
random.uniform()函数的原型为:random.uniform(a, b)
,用于生成一个指定范围内的随机符点数,其中一个参数是上限,另一个是参数下限。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
>>> random.uniform( 2.1 , 2.8 ) 2.571350659171257 >>> random.uniform( 21 , 48 ) 28.09088226941614 >>> random.uniform( 48 , 21 ) / / 不推荐这样写,一般来说第一个参数的数值要小于第二个参数的数值 46.42492852213456 >>> random.uniform( - 4 , 21 ) 7.81666451991304 >>> random.uniform( - 4 , 21 ) 6.382703447293181 >>> random.uniform( - 4.2 , 2.8 ) - 0.4436054791279309 >>> random.uniform( - 4.2 , 2.8 ) 2.7511228545721043 |
(4)random.randrange()函数
random.randrange()函数的原型为:random.randrange([start], stop[, step])
,从指定范围内,按指定基数递增的集合中 获取一个随机数。start:开始数值,stop:结束数值,step1:步长,默认为1,可以不写
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
>>> random.randrange( 0 , 56 , 8 ) 24 >>> random.randrange( 0 , 56 , 8 ) 40 >>> random.randrange( 0 , 56 , 5 ) 55 >>> random.randrange( 0 , 56 , 5 ) 15 >>> random.randrange( - 8 , 6 , 2 ) - 2 >>> random.randrange( - 8 , 6 , 2 ) 4 >>> random.randrange( - 8 , 6 ) / / 步长默认为 1 ,此时可以不用写 5 >>> random.randrange( - 8 , 6 ) |
(5)random.choice()函数
random.choice()函数原型为:random.choice(sequence)
,可以从任何序列,比如list列表中,选取一个随机的元素返回,可以用于字符串、列表、元组等。参数sequence
表示一个有序类型。sequence
在python不是一种特定的类型,而是泛指一系列的类型。list, tuple, 字符串都属于sequence。
1
2
3
4
5
6
7
8
9
10
11
|
>>> random.choice( "12045ouhuhjn" ) / / 字符串 'u' >>> random.choice( "12045ouhuhjn" ) '4' >>> random.choice(( 1 , 5 , 4 , "j" , 4 )) / / 元组 1 >>> random.choice(( 1 , 5 , 4 , "j" , 4 )) 5 >>> random.choice([ 1 , 4 , 8 , 6 , 0 , 3 ]) / / 列表 4 >>> random.choice([ 1 , 4 , 8 , 6 , 0 , 3 ]) |
(6)random.shuffle()函数
random.shuffle()函数的原型为:random.shuffle(x[, random])
,用于将一个列表中的元素打乱。
1
2
3
4
5
6
7
8
|
>>> p = [ "Python" , "is" , "powerful" , "simple" , "and so on..." ] >>> random.shuffle(p) >>> print (p) [ 'powerful' , 'Python' , 'simple' , 'is' , 'and so on...' ] >>> lst = [ 1 , 2 , 5 , 4 , 7 ] >>> random.shuffle(lst) >>> print (lst1) [ 4 , 7 , 5 , 2 , 1 ] |
(7)random.sample()函数
random.sample()函数的原型为:random.sample(sequence, k)
,从指定序列中随机获取指定长度的片断,不作原地修改,返回列表。 如果k大于sequence元素个数的话会报错。
1
2
3
4
5
6
7
8
9
|
>>> lst = [ 2 , 3 , 5 , 8 , 7 , 9 , 6 , 4 ] >>> random.sample(lst, 5 ) [ 5 , 9 , 7 , 8 , 6 ] >>> tup = [ 1 , "f" , 8 , "8f" , 0 , 7 , 5 , 8 ] >>> random.sample(tup, 4 ) [ 7 , '8f' , 'f' , 8 ] >>> str1 = "i love you 1314" >>> random.sample(str1, 4 ) [ 'l' , 'e' , 'o' , 'u' ] |
到此这篇关于python中的随机数 Random介绍的文章就介绍到这了,更多相关python 随机数 Random内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/qq_48764574/article/details/115173562