[英]Changing order of dictionaries keys based on preferred order
輸入是一個字典,例如:
{'first_name':'Jane', 'occupation': 'astronaut', 'age':27, 'last_name':'Doe'}
需要將鍵重新排列為特定順序,在列表中給出,例如:
preferred_order = ['first_name', 'last_name', 'age', 'location']
字典可能沒有preferred_order
列表中的所有鍵,並且可能有沒有出現在列表中的鍵。
在這種特定情況下,排序的結果應該是:
{'first_name':'Jane', 'last_name':'Doe', 'age':27, 'occupation': 'astronaut'}
鍵location
沒有添加到字典中,不在preferred_order
中的鍵在最后。
建議算法:
preferred_order
:每key
在preferred_order
,添加key: value
到新的字典,如果它存在於舊字典,從舊字典中刪除;key: value
對,將其添加到新字典中。 對於第 3 步,您可以使用dict.update
或|=
。
進一步閱讀:
dict.update
和|=
文檔;|=
;collections.OrderedDict
而不是dict
,自 Python 3.7 以來不再需要。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.