0
sorted_x = sorted(x.items(), key=lambda x: x[1])
這將字典x按第一個值排序。按第二個值對字典進行排序
我有一本字典這樣的:
x = {a:(1,2,3)}
我想由元組的第2個值進行排序字典x
。我怎麼做到這一點?
sorted_x = sorted(x.items(), key=lambda x: x[1])
這將字典x按第一個值排序。按第二個值對字典進行排序
我有一本字典這樣的:
x = {a:(1,2,3)}
我想由元組的第2個值進行排序字典x
。我怎麼做到這一點?
與第一個例子的工作方式相同:sorted(x.items(), key=lambda x: x[1][1])
。
請注意,這與您的第一個示例一樣,將返回一個列表,而不是字典。作爲散列圖的字典不是有序的,不能排序。
你可以用一個小的修復這樣做是爲了表明項目的索引用於排序:
sorted_x = sorted(x.items(), key=lambda x: x[1][1])
是的,我知道字典不能進行排序,這簡直是對用戶閱讀。通過第二個值,我的意思是元組的第二個值,在示例字典中,它將是「2」。第一行按「1」排序。 – Brian
你能否包括預期的輸出? – thefourtheye
輕微:你的代碼沒有按「第一個值」排序(我假定你的意思是元組的第0個元素),它按整個元組排序。如果第0個元素不同,那是一樣的,但如果不是,它將訪問其他元素來打破關係。它是'lambda x:x [1]'和'lambda x:x [1] [0]'之間的區別。 – DSM