Python random模块常用随机数生成方法详解

Aria
Aria
发布时间:2026-10-13 | 3人浏览过
原创

本文详细解析Python中random模块的核心用法,涵盖种子设置、整数与浮点数随机生成、列表洗牌及字符串随机选取等场景。通过具体代码示例,展示random.seed、randint、uniform、shuffle等函数的实际效果与参数限制,帮助开发者掌握Python随机数生成的最佳实践。

本文通过具体实例详细介绍Python中随机数的使用方法,旨在为读者提供实用的参考指南。

1. random.seed(int)

该方法用于为随机数生成器设定一个初始种子值,从而控制随机序列的产生。

当使用相同的种子值进行初始化时,后续生成的随机数序列将完全一致。

在实际应用中,通常将随时间变化的数值(如当前时间的秒数)作为种子值,以确保每次程序运行时生成的随机序列互不相同。

若调用seed()时省略参数,系统将默认使用当前系统时间作为种子来生成随机数。

random.seed(10)
print random.random()  #0.57140259469
random.seed(10)
print random.random()  #0.57140259469 同一个种子值,产生的随机数相同
print random.random()  #0.428889054675
random.seed()      #省略参数,意味着取当前系统时间
print random.random()
random.seed()
print random.random()

2. random.randint(a,b)

该函数用于返回指定范围[a, b]内的一个随机整数,结果包含上限和下限。

print random.randint(1,10)

3. random.uniform(u,sigma)

用于生成符合正态分布的随机浮点数。

print random.uniform(1,5)

4. random.randrange(start,stop,step)

该函数按照指定的步长,在[start, stop)范围内随机选取一个数值。

print random.randrange(20,100,5)

5. random.random()

用于生成一个介于0.0到1.0之间的随机浮点数。

print random.random()

6. 随机选择字符

从指定序列中随机选取n个字符。

print random.sample('abcdefghijk',3)

从指定序列中随机选取单个字符。

print random.choice('abcde./;[fgja13ds2d')

随机选取多个字符,并将其拼接形成新的字符串。

print string.join(random.sample('abcdefhjk',4)).replace(" ","")

7. random.shuffle

用于对列表(list)中的元素进行随机打乱顺序,类似于洗牌操作。

shuffle函数仅支持列表类型,若传入字符串(如'abcdfed')会引发错误,而传入列表(如['1','2','3','5','6','7'])则可正常执行。

item=[1,2,3,4,5,6,7]
print item
random.shuffle(item)
print item
item2=['1','2','3','5','6','7']
print item2
random.shuffle(item2)
print item2

此外,本文还推荐两款相关的在线工具供读者参考使用:

在线随机数字/字符串生成工具: http://tools.jb51.net/aideddesign/suijishu

高强度密码生成器: http://tools.jb51.net/password/CreateStrongPassword

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述的Python随机数生成方法对大家的学习或工作有所帮助。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表