我有以下字典串列:
[{'first': '0', 'last': 'hg', 'pay': '0', 'hossain': '{}'},
{'first': '0', 'last': 'hg', 'pay': '195', 'hossain': '{}'},
{'first': '0', 'last': 'hg', 'pay': '1', 'hossain': '{}'},
{'first': '0', 'last': 'hg', 'pay': '344', 'hossain': '{}'},
{'first': '0', 'last': 'hg', 'pay': '4', 'hossain': '{}'},
{'first': '0', 'last': 'hg', 'pay': '6', 'hossain': '{}'},
{'first': '0', 'last': 'hg', 'pay': '5', 'hossain': '{}'},
{'first': '0', 'last': 'hg', 'pay': '7', 'hossain': '{}'},
{'first': '0', 'last': 'hg', 'pay': '8', 'hossain': '{}'},
{'first': '0', 'last': 'hg', 'pay': '9', 'hossain': '{}'}]
我想將它轉換為帶有鍵'pay'的嵌套字典:
{'0':{'first': '0', 'last': 'hg', 'hossain': '{}'},
'195':{'first': '0', 'last': 'hg', 'hossain': '{}'},
'1':{'first': '0', 'last': 'hg', 'hossain': '{}'},
'344':{'first': '0', 'last': 'hg', 'hossain': '{}'},
'4':{'first': '0', 'last': 'hg', 'hossain': '{}'},
'6':{'first': '0', 'last': 'hg', 'hossain': '{}'},
'5':{'first': '0', 'last': 'hg', 'hossain': '{}'},
'7':{'first': '0', 'last': 'hg', 'hossain': '{}'},
'8':{'first': '0', 'last': 'hg', 'hossain': '{}'},
'9':{'first': '0', 'last': 'hg', 'hossain': '{}'}}
我需要一個快速的方法來轉換它謝謝你的幫助
uj5u.com熱心網友回復:
您有以下方法可以做到這一點:
方法 1:使用[python-docs]for loop
data = [{'first': '0', 'last': 'hg', 'pay': '0', 'hossain': '{}'},
{'first': '0', 'last': 'hg', 'pay': '195', 'hossain': '{}'},
{'first': '0', 'last': 'hg', 'pay': '1', 'hossain': '{}'},
{'first': '0', 'last': 'hg', 'pay': '344', 'hossain': '{}'},
{'first': '0', 'last': 'hg', 'pay': '4', 'hossain': '{}'},
{'first': '0', 'last': 'hg', 'pay': '6', 'hossain': '{}'},
{'first': '0', 'last': 'hg', 'pay': '5', 'hossain': '{}'},
{'first': '0', 'last': 'hg', 'pay': '7', 'hossain': '{}'},
{'first': '0', 'last': 'hg', 'pay': '8', 'hossain': '{}'},
{'first': '0', 'last': 'hg', 'pay': '9', 'hossain': '{}'}]
dictionary_of_pays = {}
# for loop to convert a list of dict
# to dict of list
for item in data:
key = item['pay']
item.pop('pay')
dictionary_of_pays[key] = item
# display
print(dictionary_of_pays)
輸出:
{'0':{'first': '0', 'last': 'hg', 'hossain': '{}'},
'195':{'first': '0', 'last': 'hg', 'hossain': '{}'},
'1':{'first': '0', 'last': 'hg', 'hossain': '{}'},
'344':{'first': '0', 'last': 'hg', 'hossain': '{}'},
'4':{'first': '0', 'last': 'hg', 'hossain': '{}'},
'6':{'first': '0', 'last': 'hg', 'hossain': '{}'},
'5':{'first': '0', 'last': 'hg', 'hossain': '{}'},
'7':{'first': '0', 'last': 'hg', 'hossain': '{}'},
'8':{'first': '0', 'last': 'hg', 'hossain': '{}'},
'9':{'first': '0', 'last': 'hg', 'hossain': '{}'}}
方法2:使用[python-peps]dictionary comprehension
dictionary_of_pays = {item['pay']:{k:item[k] for k in item if k != 'pay'} for item in data}
print(dictionary_of_pays)
輸出:
{'0':{'first': '0', 'last': 'hg', 'hossain': '{}'},
'195':{'first': '0', 'last': 'hg', 'hossain': '{}'},
'1':{'first': '0', 'last': 'hg', 'hossain': '{}'},
'344':{'first': '0', 'last': 'hg', 'hossain': '{}'},
'4':{'first': '0', 'last': 'hg', 'hossain': '{}'},
'6':{'first': '0', 'last': 'hg', 'hossain': '{}'},
'5':{'first': '0', 'last': 'hg', 'hossain': '{}'},
'7':{'first': '0', 'last': 'hg', 'hossain': '{}'},
'8':{'first': '0', 'last': 'hg', 'hossain': '{}'},
'9':{'first': '0', 'last': 'hg', 'hossain': '{}'}}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/527085.html
