python教程—在python中随机化两个列表并保持顺序-Python实用宝典

python教程—在python中随机化两个列表并保持顺序

假设我有两个简单的列表,我想做的是随机化a和b但保持顺序。所以,类似:

假设我有两个简单的列表,

    a = ['Spears', "Adele", "NDubz", "Nicole", "Cristina"] b = [1,2,3,4,5] len(a) == len(b)

我想做的是随机化a和b但保持顺序。所以,类似:

    a = ["Adele", 'Spears', "Nicole", "Cristina", "NDubz"] b = [2,1,4,5,3]

我知道我可以洗牌一个列表使用:

    import random random.shuffle(a)

但这只是随机化了a,然而,我想随机化a,并保持列表b中的“随机顺序”。

如能就如何实现这一点提供指导,我们将不胜感激。

回答

我将把这两个列表合并在一起,洗牌得到的列表,然后将它们拆分。这使用了zip()

    a = ["Spears", "Adele", "NDubz", "Nicole", "Cristina"] b = [1, 2, 3, 4, 5] combined = list(zip(a, b)) random.shuffle(combined) a[:], b[:] = zip(*combined)

​Python实用宝典 (pythondict.com)
不只是一个宝典
欢迎关注公众号:Python实用宝典

本文由 Python实用宝典 作者:Python实用宝典 发表,其版权均为 Python实用宝典 所有,文章内容系作者个人观点,不代表 Python实用宝典 对观点赞同或支持。如需转载,请注明文章来源。
2

发表评论