通过维护列表中值的映射顺序来随机化两个列表

Randomize two lists by maintaining the sequence of mapping of values in the lists

我有两个列表

list1=['item1','item2','item3','item4']
list2=['label1','label2','label3','label4']

因此项目与其标签之间存在映射关系。我想对它们进行洗牌并生成结果,以便在它们的索引上维护映射。

例如:

洗牌后

list1=['item4','item2','item1','item3']
list2=['label4','label2','label1','label3']

你可以这样做:

import random

x = zip(list1, list2)
random.shuffle(x)

list1, list2 = zip(*x)

然后,例如,您有:

>>> list1
('item4', 'item3', 'item1', 'item2')

>>> list2
('label4', 'label3', 'label1', 'label2')

(这些是元组,但如果需要可以将它们转换回列表。)