我有一个词典列表,其中包含我想在每本词典的键下替换的信息。
因此,我正在考虑遍历每个字典并替换值。
我还有另一本字典,将要替换的值作为键,将最终值替换为值。
它是这样的:
listOfDicts = [{'value_1' : 'A', 'value-2' : 'B', 'valu&_3' : 'C'}, {'value-1' : 'D', 'value_2' : 'E', 'value-3' : 'F'}, {'value_1' : 'G', 'value_2' : 'H', 'value_3' : 'I'}]
然后,我还有另一本字典可以用作修复此信息的基础:
fixer = {'value-2' : 'value_2', 'value&_3' : 'value_3', 'value-3' : 'value_3', ...}
我该如何更换?
-编辑:
所需的输出将是这样的:
listOfDicts = [{
'value_1' : 'A',
'value_2' : 'B',
'value_3' : 'C'},
{'value_1' : 'D',
'value_2' : 'E',
'value_3' : 'F'},
...}
这应该为您工作:
listOfDicts = [{'value_1' : 'A', 'value-2' : 'B', 'value&_3' : 'C'}, {'value-1' : 'D', 'value_2' : 'E', 'value-3' : 'F'}, {'value_1' : 'G', 'value_2' : 'H', 'value_3' : 'I'}]
fixer = {'value-1' : 'value_1', 'value-2' : 'value_2', 'value&_3' : 'value_3', 'value-3' : 'value_3'}
for i in range(len(listOfDicts)):
keys = list(listOfDicts[i].keys())
temp_dict = dict()
for item in keys:
if item in fixer:
temp_dict[fixer[item]] = listOfDicts[i][item]
else:
temp_dict[item] = listOfDicts[i][item]
listOfDicts[i] = temp_dict
print(listOfDicts)
输出量
[{'value_1': 'A', 'value_2': 'B', 'value_3': 'C'}, {'value_1': 'D', 'value_2': 'E', 'value_3': 'F'}, {'value_1': 'G', 'value_2': 'H', 'value_3': 'I'}]
该程序的作用是迭代列表中的每个项目,并在当前项目的字典中获取键。然后,它创建一个临时字典(temp_dict
),稍后将在其中存储固定值。然后,程序检查并确定是否需要修复任何键,如果需要,则根据fixer
字典修复键。最后,它将用listOfDicts
固定值替换要迭代的项。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句