千家信息网

Python 中怎么随机打乱列表排序

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,Python 中怎么随机打乱列表排序,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。场景:现在有一个list:[1,2,3
千家信息网最后更新 2026年10月31日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安全错误 数据库的锁怎样保障安全 上海挚品互联网科技有限公司 中智农互联网科技 科技与互联网发展 喔噻互联网科技 狮子座互联网科技 奇酷互联网络科技 北京禾田雨橡互联网科技 广州凡科互联网科技 万达互联网科技 天下捷融互联网科技 深圳国际航运科技和互联网 互联网科技实习生岗位职责 栖莱科技互联网股份有限公司 佳云科技和互联网广告 港股科技和互联网 互联网5g黑科技有哪些 阿里互联网科技企业 元气玛特互联网科技公司是外包吗 世界互联网科技成果奖 华人运通互联网科技公司 成都仁贤领冠互联网科技有限公司 华脉科技工业互联网产品 科技与互联网的利与弊 承德科技产业互联网发展 顶级互联网科技成果有哪些 世界互联网科技公司市值排名 国大互联网教育科技有限公司工作 佛山市拉法互联网科技有限公司 广州千川互联网科技有限公司 互联网科技包装股份有限公司上市
0