【发布时间】:2021-12-24 23:52:31
【问题描述】:
original_list = [{"record1": 1, "record2": "loremipsum1", "record3": "loremipsum2", "record4": "loremipsum3"},
{"record1": 2, "record2": "loremipsum4", "record3": "loremipsum5", "record4": "loremipsum6"},
{"record1": 3, "record2": "loremipsum7", "record3": "loremipsum8", "record4": "loremipsum9"},
{"record1": 4, "record2": "loremipsum10", "record3": "loremipsum12", "record4": "loremipsum13"},
{"record1": 5, "record2": "loremipsum11", "record3": "loremipsum12", "record4": "loremipsum13"}]
to_append = [{"record1": 1, "new_record": "new1"},
{"record1": 2, "new_record": "new2"}]
output = [{"record1": 1, "record2": "loremipsum1", "record3": "loremipsum2", "record4": "loremipsum3", "new_record": "new1"},
{"record1": 2, "record2": "loremipsum4", "record3": "loremipsum5", "record4": "loremipsum6", "new_record": "new2"},
{"record1": 3, "record2": "loremipsum7", "record3": "loremipsum8", "record4": "loremipsum9"},
{"record1": 4, "record2": "loremipsum10", "record3": "loremipsum12", "record4": "loremipsum13"},
{"record1": 5, "record2": "loremipsum11", "record3": "loremipsum12", "record4": "loremipsum13"}]
如果record1 字段的值相同,则输出是将new_record 附加到列表中的字典,如果new_record 不存在,则不执行任何操作。如果使用 itertools 会更好。
我尝试了一些解决方案,但仅当 new_record 存在时,它才会返回一个带有附加字典的数组 - 忽略所有其他字典。
有人可以帮忙吗? TIA
【问题讨论】:
-
基于示例数据-您认为
array_to_append中的所有记录都应该添加吗? -
您在
array_to_append的第二个字典周围有一个额外的{}。这是无效的。 -
“如果new_record不存在”应该是“如果record1值不存在”吗?
-
仅供参考,这些是列表,而不是数组。
-
到目前为止你尝试了什么?
标签: python arrays list dictionary