簡體   English   中英

Python按值然后按鍵對字典項進行排序

[英]Python sort dictionary items by value then by key

我有以下字典:

{1: (8, 3), 0: (8, 0), 2: (2, 3), 3: (2, 0)}

我想按元組鍵然后按字典鍵對它進行排序,因此上述內容將是:

 [{1: (2, 3), 3: (2, 0),0: (8, 3), 1: (8, 0)}]

我寫了以下內容:

result_list = sorted(codebook.items(), key= lambda item: item[1][0])

按元組鍵排序,但不按字典鍵排序。

我該怎么做?

sorted(codebook.items(), key= lambda item: (item[1][0],item[0]))

這將首先按元組中的第一項排序,然后按字典鍵排序

只是為OP澄清一些事情

  • 字典無法排序,因此您永遠無法擁有“排序的”字典

    • (有一個OrderedDictionary,但其本質上與NamedTuple相同,這兩個容器都具有順序)
  • 這將返回一個元組列表,而不是字典。 回報看起來像

    [(dictionary_key,(tuple,values)),(dictionary_key,(tuple,values),...]

暫無
暫無

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

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