如何先按我想要的内容排序列表,然后按字母顺序排序

问题描述 投票:0回答:1

这是 2 个列表,它们相互关联

fruits = ['watermelon','orange', 'pear', 'mango', 'apple', 'grapes'] values = [3,5,2,3,2,4]

我希望先有“葡萄”、“橙子”、“苹果”,然后按字母顺序排列其余的。

最终名单:

new_fruits = ['grapes', 'orange', 'apple', 'mango', 'pear', 'watermelon' ] new_values = [4, 5, 2, 3, 2, 3] 

我怎样才能实现这个目标?预先感谢您!

我使用了 .sort() 但这只能帮助按字母顺序排序,而不是按我想要的顺序排序。

python arrays list sorting lambda
1个回答
0
投票

要将两个列表一起排序,您应该将它们组合成一个列表,然后将它们分开。

combined = zip(fruits, values)
sorted_list = sorted(combined)
new_fruits = [item[0] for item in sorted_list]
new_values = [item[1] for item in sorted_list]

现在您只需使用

key
参数到
sorted
即可获得正确的顺序。

© www.soinside.com 2019 - 2024. All rights reserved.