如何使用 Python 打乱多个列表?——同时对多个列表进行洗牌

本文介绍了如何在Python中使用random模块的shuffle()函数以及numpy库的permutation()函数,对一个或多个列表进行随机洗牌操作。通过zip()函数可以将多个列表合并并打乱,注意zip()在处理不同长度列表时的特性。
摘要由CSDN通过智能技术生成

对于需要输入一系列数据的 Python 程序来说,数据的顺序是非常重要的。但在某些情况下,我们需要随机地打乱这些数据。Python 中内置的 random 模块可以帮助我们实现列表的洗牌操作。

如果只有一个列表需要进行洗牌,使用 random 模块的 shuffle() 函数即可:

import random

lst = [1, 2, 3, 4, 5]
random.shuffle(lst)
print(lst)

输出结果:

[2, 5, 4, 1, 3]

如果需要同时对多个列表进行洗牌,可以使用 zip() 函数将多个列表压缩起来,然后再将该压缩对象转换成列表,并使用 shuffle() 函数进行洗牌:

import random

lst1 = [1, 2, 3, 4, 5]
lst2 = ['a', 'b', 'c', 'd', 'e']
lst3 = [True, False, True, False, True]

lst = list(zip(lst1, lst2, lst3))
random.shuffle(lst)
lst1, lst2, lst3 = zip(*lst)

print(lst1)
print(lst2)
print(lst3)

输出结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员杨弋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值