Python random模块常用函数详解:生成随机数、字符串与列表操作
本文详细介绍Python中random模块的核心用法,涵盖生成0到1浮点数、指定范围浮点数与整数、按步长获取随机数,以及从序列中随机选取元素、打乱列表顺序和随机抽样等常用方法。通过具体代码示例解析各函数的语法、参数及返回值,帮助开发者高效处理随机数据需求。
在Python中,生成随机数的核心模块是random,使用前需通过import语句导入。接下来将详细解析该模块的具体用法。
Python生成随机浮点数:random.random
random.random()函数用于生成一个0到1之间的随机浮点数,其取值范围为0 <= n < 1.0。
注意:以下代码示例均在Python3.5环境下测试通过,若使用Python2版本,代码可能需要稍作调整。
描述
random()方法返回一个随机生成的实数,该数值位于区间(0, 1)内。
语法
random()方法的调用语法如下:
import random
random.random()
注意:random()并非直接可用,必须先导入random模块,随后通过random静态对象调用该方法。
参数
无
返回值
返回一个随机生成的实数,取值范围在[0, 1)之间。
实例
以下代码展示了random()方法的具体使用方式:
>>> import random
>>> print ("random 1 : ", random.random())
random 1 : 0.8325656436327418
>>> print ("random 2 : ", random.random())
random 2 : 0.9205070325517919
运行上述实例后,输出结果如下:
random 1 : 0.8325656436327418
random 2 : 0.9205070325517919
Python生成指定精度浮点数:random.uniform
random.uniform函数的原型为random.uniform(a, b),用于生成指定范围内的随机浮点数。其中a和b分别代表上限和下限。若a大于b,则生成的随机数n满足b <= n <= a;若a小于b,则满足a <= n <= b。
>>> import random >>> print (random.uniform(1, 10)) 2.444412473072692 >>> print (random.uniform(10, 1)) 4.617930290730046
运行结果示例:
2.444412473072692
4.617930290730046
Python生成指定范围整数:random.randint
random.randint()函数的原型为random.randint(a, b),用于生成指定范围内的随机整数。参数a为下限,参数b为上限,生成的随机数n满足a <= n <= b。
注意:下限a必须小于或等于上限b。
>>> import random >>> print (random.randint(11, 20)) #生成的随机数n: 12 <= n <= 20 13 >>> print (random.randint(20, 20)) #结果永远是20 20
运行结果示例:
13
20
Python获取指定范围内随机数:random.randrange
randrange()方法从指定递增基数集合中返回一个随机数,默认基数为1。
random.randrange的函数原型为random.randrange([start], stop[, step]),用于从指定范围内,按指定步长递增的集合中获取一个随机数。
例如:random.randrange(10, 100, 2),其效果相当于从[10, 12, 14, 16, ... 96, 98]序列中随机选取一个数。
random.randrange(10, 100, 2)的结果与random.choice(range(10, 100, 2))等效。
>>> import random >>> print (random.randrange(10, 18, 2)) 16
运行结果示例:
16
Python从列表、元组或字符串中随机获取元素:random.choice
random.choice用于从序列中随机选取一个元素。
其函数原型为random.choice(sequence),其中sequence参数表示一个有序类型。
需要说明的是:sequence在Python中并非特定类型,而是泛指一系列有序类型,包括list、tuple和字符串等。关于sequence的详细信息,可查阅Python手册中的数据模型章节。
>>> import random
>>> print (random.choice("jb51.net"))
t
>>> print (random.choice(["jb", "51", "net"]))
jb
>>> print (random.choice(("jb", "51", "net")))
51
运行结果示例:
t
jb
51
Python列表随机排序:random.shuffle
random.shuffle的函数原型为random.shuffle(x[, random]),用于将列表中的元素顺序打乱。示例如下:
>>> import random >>> list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> random.shuffle(list) >>> print (list) [7, 2, 8, 5, 3, 10, 1, 9, 6, 4]
运行结果:
[7, 2, 8, 5, 3, 10, 1, 9, 6, 4]
Python从列表中随机获取指定数量项目:random.sample
random.sample的函数原型为random.sample(sequence, k),用于从指定序列中随机获取指定长度k的片段。
需要注意的是,sample函数不会修改原始序列。
>>> import random >>> list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> slice = random.sample(list, 5) #从list中随机获取5个元素,作为一个片断返回 >>> print (slice) [1, 5, 9, 3, 2] >>> print (list) #原有序列不会改变。 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
运行结果示例:
[1, 5, 9, 3, 2]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
本文主要讲解Python随机函数random的使用方法,内容涵盖Python随机数字、随机字符串及随机列表等操作。如需了解更多关于Python random模块的使用技巧,请点击下方相关链接查看。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









