亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

按鍵排序字典:單鍵優先級和字母順序

按鍵排序字典:單鍵優先級和字母順序

九州編程 2021-12-29 10:52:41
我有一個 Python 字典d:d = {     'a': 1,    'b': 2,    'c': 3,    'd': 4,}我想這樣排序:有值的鍵x是第一位的。其他所有內容均按字母順序排序。所以如果x = 'c'我希望輸出是:>>> print(new_d)>>> { 'c': 3, 'a': 1, 'b': 2, 'd': 4}有沒有一種直接/簡單/Pythonic的方法來做到這一點?是的,我已經看到并理解了如何按值對字典進行排序的問題的大量答案?以及如何按鍵對字典進行排序?
查看完整描述

1 回答

?
莫回無

TA貢獻1865條經驗 獲得超7個贊

Python 3.7 之前的字典未排序,但是,您可以對從 中獲得的元組列表進行排序dict.items,如果您使用的是 Python 3.7,請dict根據結果創建一個。該lambda排序鍵返回具有兩個元素的列表。第一個元素是鍵比較的結果,在本例中為x == 'c',而第二個元素是與鍵關聯的數值:


d = {'a': 1, 'b': 2, 'c': 3, 'd': 4} 

x = 'c'

new_d = sorted(d.items(), key=lambda c:[c[0] != x, c[-1]])

輸出:


[('c', 3), ('a', 1), ('b', 2), ('d', 4)]

在 Python 3.7 中:


print(dict(new_d))

輸出:


{'c': 3, 'a': 1, 'b': 2, 'd': 4}


查看完整回答
反對 回復 2021-12-29
  • 1 回答
  • 0 關注
  • 168 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號