簡體   English   中英

使用字典對列表進行排序

[英]Sorting a list with a dictionary at items

我正在嘗試按日期對該列表進行排序。 有誰知道我可以按列表中的字典值排序的方法? 順便說一下,我正在將它用於Flask表。 我願意接受任何新方法來簡化此過程。

def Fights(self):
    fights = []
    for fight in self.fighter["Fights"]:
        fights.append(dict(Opponent=str(fight["Opponent"]),
                           Location=str(fight["Location"]),
                           Date=(fight["Date"]),
                           Result=str(fight["Result"]),
                           Round=str(fight["Round"]),
                           Time=str(fight["Time"]),
                           Win=str(fight["Win"])))

    return fights

您正在尋找帶有key參數的sorted函數!

我不確定您的情況,但也許您正在尋找的代碼是:

return sorted(fights, key=(lambda fight:fight["Date"]))

(以替換您當前返回的內容。)

sorted函數對列表進行排序。 key參數是在排序之前應用於每個元素的函數。 例如:

sorted([1, 2, 3], key=(lambda x:(-x)))

將返回[3, 2, 1] 3,2,1 [3, 2, 1] ,因為它對[-1,-2,-3]進行了排序,但是如果有意義的話,則在輸出中使用原始數字。 (盡管在特定情況下,使用reversed = True)會更好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM