Python 中怎么随机打乱列表排序
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,Python 中怎么随机打乱列表排序,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。场景:现在有一个list:[1,2,3
千家信息网最后更新 2025年01月23日Python 中怎么随机打乱列表排序
Python 中怎么随机打乱列表排序,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
场景:
现在有一个list:[1,2,3,4,5,6]
,我需要把这个list在输出的时候,是以一种随机打乱的形式输出。
专业点的术语:将一个容器中的数据每次随机逐个遍历一遍。
注意:不是生成一个随机的list集。
环境:
Python 3.6
解决方案:
方案一:
有人可能会通过Random内置函数,来间接实现想要的结果。但是这种方式,太原始,也不够优雅,而且有种重复造轮子的嫌疑。这里我就不贴我自己通过random实现的效果了。
方案二:
Random中有一个random.shuffle()方法提供了完美的解决方案。代码如下:
x = [1,2,3,4,5,6]random.shuffle(x)print(x)
输出结果:
第一次输出内容:[6, 5, 1, 3, 2, 4]第二次输出内容:[6, 1, 3, 5, 2, 4]第三次输出内容:[5, 3, 1, 2, 4, 6]
从结果我们可以看出,输出是完全随机的,代码量就两行,不需要random,不需要for循环。
源码解读:
此部分原文链接:Python中打乱列表顺序 random.shuffle()的使用方法[1]
def shuffle(self, x, random=None):
"""Shuffle list x in place, and return None.
原位打乱列表,不生成新的列表。
Optional argument random is a 0-argument
function returning a random float in [0.0, 1.0);
if it is the default None,
the standard random.random will be used.
可选参数random是一个从0到参数的函数,返回[0.0,1.0)中的随机浮点;
如果random是缺省值None,则将使用标准的random.random()。
"""
if random is None:
randbelow = self._randbelow
for i in reversed(range(1, len(x))):
# pick an element in x[:i+1] with which to exchange x[i]
j = randbelow(i + 1)
x[i], x[j] = x[j], x[i]
else:
_int = int
for i in reversed(range(1, len(x))):
# pick an element in x[:i+1] with which to exchange x[i]
j = _int(random() * (i + 1))
x[i], x[j] = x[j], x[i]
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
输出
内容
方案
结果
代码
函数
参数
方法
解决方案
帮助
生成
排序
有种
清楚
优雅
不够
专业点
使用方法
原位
原文
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
有秩序的服务器我的世界
专升本软件开发哪个学校好
营销数据库与营销数据仓库
网络安全等级备案号
网上购物商城数据库设计表
数据库 hash 自增列
江西联通网络安全部
平凉卑卫网络技术有限公司
网络安全实习生周报
调度中心网络安全预案
access数据库入门
软件开发 变量设计文档
女孩子适合学习计算机网络技术吗
审计局做好网络安全工作
企业网络安全实施思路
网络技术侦查PDF
iosapp显示连接不到服务器
《网络技术》教学反思
雨花区软件开发公司有哪些
昆明计算机网络技术就业要求
奉化财务软件开发联系方式
河北廊坊网络技术公司
公司管理信息系统数据库课设
吉的堡教育软件开发有限公司
计算机软件开发对一个企业
郑州专业软件开发大概要多少钱
acs自动配置服务器
普陀区机电软件开发产品介绍
工程 计价软件开发
靠谱的erp分销软件开发设计