程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

python 裡面對於字典進行key或value排序輸出

編輯:Python

最近在工作中碰到一種情況是,需要在字典裡面指針的位置插入一個值,但是因為字典是無序的,所以如果說想直接在某個key後面插入值是比較難實現的,那麼如何實現呢?

 場景:

我們在做審批流的時候,有一個優先級的字段,根據優先級來確定審批流,

財務流程的審批流是:

發起人—> 直屬leader —> 部門leader —> 財務 —> 財務負責人 —> 總經理

但是後面,財務經理提出要在部門leader和財務之間添加一個業務負責人來進行再次確認,如果說想在已經算好的字典裡面直接加的話,會直接把這個節點放到最後面去,所以這個時候需要我們用一些技巧。

Step 1:在節點裡面加入一個優先級為3300的節點,但是由於沒有配置人員,會被自動過濾到。

生成的字典類似:

approver_dict = {‘1000': node(a), ‘2000’:node(b),’3000’:node(c),’3500’:node(d),’4000’: node(e)}

Step 2:

向生成的字典裡面加入一個節點

Approver_dict[3300] = node(f)

Step3:

將新的字典按照key的順序排列返回

temp_list = sorted(approver_dict.keys(), key=lambda x: x[0].approver_priority)
temp_dict = {}
for temp in temp_list:
    temp_dict[temp] = approver_dict.get(temp)
return temp_dict

最後返回的結果類似於:

{‘1000': node(a), ‘2000’:node(b),’3000’:node(c),’3300’:node(f),’3500’:node(d),’4000’: node(e)}

 


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved