我们可以使用zip函数将两个列表打包成元组的列表,然后利用sorted函数根据其中一个列表中元素的顺序进行排序。最后将排好序的元组列表解压缩,得到排序好的第一个列表。
示例代码如下:
list1 = ['apple', 'banana', 'cherry', 'date']
list2 = [3, 1, 2, 4]
# 利用zip函数将两个列表打包成元组的列表
zipped = zip(list2, list1)
# 根据list2中的元素顺序进行排序
sorted_pairs = sorted(zipped)
# 解压缩排序好的元组列表
result = [x for y, x in sorted_pairs]
print(result) # 输出:['banana', 'cherry', 'apple', 'date']
这段代码中,我们将原列表list1和需要排序的关键字列表list2打包成元组的列表zipped,然后利用sorted函数按照list2中元素的顺序进行排序,得到一个排好序的元组列表sorted_pairs。最后,我们将sorted_pairs解压缩得到排序好的list1。
上一篇:按照另一个列表来过滤一系列列表