最近在工作中碰到一種情況是,需要在字典裡面指針的位置插入一個值,但是因為字典是無序的,所以如果說想直接在某個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)}
django stay linux Up operation
Python Development of guidelin
The following is what bloggers