我正试图用一个列表,里面有很多字典,然后把这些字典合并成一个新的字典。
1.我有一个特定键的值,它将在整个列表中显示两次,所以我想将这两个字典合并为一个。
1.在组合时,我希望使用其他键的值来成为一个新的、唯一的键
以下是我目前的列表:
supplemental_list = [
{'i': 44, 'id': 'Qty', 'value': '-1.00'},
{'i': 44, 'id': 'Rate', 'value': '5000.00'},
{'i': 52, 'id': 'Qty', 'value': '-1.50'},
{'i': 52, 'id': 'Rate', 'value': '100.00'}
]
这里是我需要的新列表的样子。注意'id'键的值和成为新键,'value'键的相应值是新键的值。
supplemental_list_new = [
{'i': 44, 'Qty': '-1.00', 'Rate': '5000.00'},
{'i': 52, 'Qty': '-1.50', 'Rate': '100.00'}
]
我已经尝试了几次,这是越来越接近,我在下面包括一个片段。它似乎正确地编译一个字典为'i' 44,但我知道这是不太正确的。我如何解决这个问题或其他方法会工作?
supplemental_list_new = {}
for i in supplemental_list:
for key in i.keys():
supplemental_list_new['i'] = supplemental_list[0]['i']
supplemental_list_new['Qty'] = supplemental_list[0]['value']
supplemental_list_new['Rate'] = supplemental_list[1]['value']
1条答案
按热度按时间wfsdck301#
您可以使用
defaultdict
来存储每个i
的值。