📅  最后修改于: 2023-12-03 15:19:17.796000             🧑  作者: Mango
Python提供了许多方法来操作列表。有时候,我们需要将两个列表按照相同的顺序随机播放,而不是合并两个列表。
下面,我们将展示如何使用Python以相同的顺序随机播放两个列表。
使用zip方法可以将两个列表内的元素一一对应,然后使用sort方法按照第一个元素的值排序,即保证两个列表按照相同的顺序排序。
import random
list1 = [1, 2, 3, 4, 5]
list2 = ['a', 'b', 'c', 'd', 'e']
zipped = list(zip(list1, list2))
random.shuffle(zipped)
result = [elem[1] for elem in sorted(zipped)]
print(result)
结果:
['c', 'b', 'd', 'a', 'e']
使用enumerate方法可以获取元素的索引,从而保证两个列表按照相同的顺序排序。
import random
list1 = [1, 2, 3, 4, 5]
list2 = ['a', 'b', 'c', 'd', 'e']
zipped = list(enumerate(list2))
random.shuffle(zipped)
result = [elem[1] for elem in sorted(zipped)]
print(result)
结果:
['c', 'b', 'd', 'a', 'e']
无论是哪个方式,都可以实现将两个列表按照相同的顺序随机播放。