[英]How to sort a list by number first in descending order and then by alphabet in ascending order
我有一個清單
ff = [('o', 2), ('l', 1), ('e', 1), ('g', 2)]
我想對它進行排序,使其按數字降序排序,如果任何元素具有相同的數字,則它按字母升序排序,就像這樣
ff = [('g', 2), ('o', 2), ('e', 1), ('l', 1)]
您可以使用帶參數key
的sorted
:
ff = [('o', 2), ('l', 1), ('e', 1), ('g', 2)]
output = sorted(ff, key=lambda x: (-x[1], x[0]))
print(output) # [('g', 2), ('o', 2), ('e', 1), ('l', 1)]
當一個元組作為key
給出時, sorted
字典順序對列表進行排序。 在這種情況下,它首先根據降序( -x[1]
)的第二個元素排序,然后根據升序( x[0]
)的第一個元素排序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.