我有一本字典
dicts = [{'date':2018, 'target':'usd'}, {'date':2020, 'target':'eur'}, {'date':2019, 'target':'eur'}]
我想重新排列鍵的順序,如下所示:
[{'target':'usd','date':2018}, { 'target':'eur','date':2020}, {'target':'eur',date':2019}]
我已經嘗試過了,但在我的 python 3.9 中出現錯誤:
key_order = [ 'target', 'date']
dicts = {k : dicts[k] for k in key_order}
dicts
TypeError: list indices must be integers or slices, not str
謝謝。
uj5u.com熱心網友回復:
dicts是一個串列,而不是字典。如錯誤訊息所述。
這可能有效:
dicts = [{k: dct[k] for k in key_order} for dct in dicts]
您需要串列理解中的字典理解。
你至少需要 python 3.6 才能作業。在該版本之前,dicts werde 不是插入順序的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/450868.html
標籤:python-3.x 字典
