时间:2022-07-14 08:19:47 | 栏目:Python代码 | 点击:次
Python标准库中的random函数,可以生成随机浮点数、整数、字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据等,即用来生成随机数。
random.random()
函数,它会生成一个随机的浮点数,范围是在0.0~1.0之间
>>> import random >>> print(random.random()) 0.2203627723039484 >>> print(random.random()) 0.124968990086466 >>> print(random.random()) 0.4156471793210381
注意:不能这样写random.Random()
>>> print(random.Random()) <random.Random object at 0x00000236EE7E9A88>
random.randint()函数原型为:random.randint(a, b)
,随机生一个整数int类型,可以指定这个整数的范围,用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b。
>>> 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
random.uniform()函数的原型为:random.uniform(a, b)
,用于生成一个指定范围内的随机符点数,其中一个参数是上限,另一个是参数下限。
>>> 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
random.randrange()函数的原型为:random.randrange([start], stop[, step])
,从指定范围内,按指定基数递增的集合中 获取一个随机数。start:开始数值,stop:结束数值,step1:步长,默认为1,可以不写
>>> 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)
random.choice()函数原型为:random.choice(sequence)
,可以从任何序列,比如list列表中,选取一个随机的元素返回,可以用于字符串、列表、元组等。参数sequence
表示一个有序类型。sequence
在python不是一种特定的类型,而是泛指一系列的类型。list, tuple, 字符串都属于sequence。
>>> 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])
random.shuffle()函数的原型为:random.shuffle(x[, random])
,用于将一个列表中的元素打乱。
>>> 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]
random.sample()函数的原型为:random.sample(sequence, k)
,从指定序列中随机获取指定长度的片断,不作原地修改,返回列表。 如果k大于sequence元素个数的话会报错。
>>> 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']