通过维护列表中值的映射顺序来随机化两个列表
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')
(这些是元组,但如果需要可以将它们转换回列表。)
我有两个列表
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')
(这些是元组,但如果需要可以将它们转换回列表。)