在python中以相同顺序shuffle两个list的方法

  • Post category:Python

在Python中,我们可以使用zip()函数和random()模块的shuffle()函数来以相同顺序shuffle两个list。具体步骤如下:

  1. 使用zip()函数将两个list打包成一个元素元组的列表。

  2. 使用random()模块的shuffle()函数对打包后的列表进行随机排序。

  3. 使用zip()函数将包后的列表解包成两个list。

下面是一个示例,演示如何以相同顺序shuffle两个list:

import random

list1 = [1, 2, 3, 4, 5]
list2 = ['a', 'b', 'c', 'd',e']

# 打包成元素为元组的列表
zipped = list(zip(list1, list2))

# 随机排序
random.shuffle(zipped)

# 解包成两个list
list1, list2 = zip(*zipped)

print(list1)  # 输出:3, 2, 1, 4, 5)
print(list2)  # 输出:('c', 'b', 'a', 'd', 'e')

上述代码中,我们定义了两个listlist1list2,然后使用zip()函数将它们打包成一个元素为元组的列表zipped。接着,我们使用random()模块的shuffle()函数对zipped进行随机排序。最后,我们使用zip()函数将zipped解包成两个listlist1list2

下面是另一个示例,演示如何以相同顺序shuffle两个list:

import random

list1 = ['apple', 'banana', 'orange']
list2 [1.2, 2.3, 3.4]

# 打包成元素为元组的列表
zipped = list(zip(list1, list2))

# 随机排序
random.shuffle(zipped)

# 解包两个list
list1, list2 = zip(*zipped)

print(list1)  # 输出:('orange', 'banana', 'apple')
print(list2)  # 输出:(3.4, 2.3, 1.2)

上述代码中,我们定义了两个listlist1list2,然后使用zip()函数将它们打包成一个元素为元组的列表zipped。接着,我们使用random()模块的shuffle()函数对zipped进行随机排序。最后,我们使用zip()函数将zipped解包成两个listlist1list2

总结:

本文详细讲解如何在Python中以相同顺序shuffle两个list,并给出了两个示例说明。在Python编程中,zip()函数和random()模块的shuffle()函数是常用的工具,掌握它们可以使我们更加高效地处理数据。