📜  python根据单个列表的排序对多个列表进行排序 - Python(1)

📅  最后修改于: 2023-12-03 15:04:39.963000             🧑  作者: Mango

Python根据单个列表的排序对多个列表进行排序

在实际开发中,我们常常需要同时对多个列表进行排序,且排序的依据只有一个。此时我们可以先根据该依据对一个列表进行排序,再根据这个列表的顺序对其他列表进行相应顺序的调整。下面我们来看一下具体的实现方法。

示例代码
# 定义待排序的多个列表
list1 = [3, 2, 1]
list2 = ['c', 'b', 'a']
list3 = [33, 22, 11]

# 根据list1的排序结果,对其他两个列表进行调整
zipped = zip(list1, list2, list3)
sorted_zip = sorted(zipped)
new_list1, new_list2, new_list3 = zip(*sorted_zip)

# 输出排序结果
print(new_list1)    # 输出:(1, 2, 3)
print(new_list2)    # 输出:('a', 'b', 'c')
print(new_list3)    # 输出:(11, 22, 33)
解释说明
  1. 定义待排序的多个列表
list1 = [3, 2, 1]
list2 = ['c', 'b', 'a']
list3 = [33, 22, 11]
  1. 将多个列表打包成一个可迭代的对象
zipped = zip(list1, list2, list3)
  1. 根据list1的排序结果对多个列表进行调整
sorted_zip = sorted(zipped)
new_list1, new_list2, new_list3 = zip(*sorted_zip)
  1. 输出排序结果
print(new_list1)
print(new_list2)
print(new_list3)

以上就是根据单个列表的排序对多个列表进行排序的具体实现方法。