我有两个列表是
old_list = [{"tag": "apple","value":4}, {"tag": "orange","value":5}]
new_list = [{"tag": "apple","value":1}, {"tag": "orange","value":2}, {"tag": "grape","value":3}]
我想要一个new_list,如果 new_listitem['tag']等于 old_list item['tag'],则new_list['value']等于old_list['value'],如果 new_list 有新项目,
则new_list['value']初始化 0。
结果:
new_list = [{"tag": "apple","value":4}, {"tag": "orange","value":5}, {"tag": "grape","value":0}]
这是我的实现:
old_list = [{"tag": "apple","value":4}, {"tag": "orange","value":5}]
new_list = [{"tag": "apple","value":1}, {"tag": "orange","value":2}, {"tag": "grape","value":3}]
update_list = []
for new in new_list:
flag_new_item = True
for old in old_list:
if new["tag"] == old['tag']:
new["value"] = old['value']
flag_new_item = False
break
if flag_new_item:
new['value'] = 0
print(new_list)
因为我使用 2' 次迭代器来实现这个问题,我认为这太慢了,而且是非 Python 风格,而且我引入了看起来不太好的新标志。有没有更直接、更方便、更有效的方式来实现它
繁星coding
慕尼黑8549860
相关分类