return_so = [{'id': 1, 'has_hub': False}, {'id': 2, 'has_hub': False}, {'id': 3, 'has_hub': False}]
hub_so = [{'id': 1, 'has_hub': True}, {'id': 62, 'has_hub': True}, {'id': 13, 'has_hub': True}, {'id': 2, 'has_hub': True}]嗨,我想要合并2数组,当有一个由"id“复制的dict时,我想选择has_hub = True的dict。
expected result = [{'id': 1, 'has_hub': True}, {'id': 2, 'has_hub': True}, {'id': 3, 'has_hub': False}, {'id': 62, 'has_hub': True}, {'id': 13, 'has_hub': True}]谢谢..。
发布于 2020-11-23 04:47:34
解决这个问题的方法有很多种,但是利用python中的字典现在保持插入顺序(3.7实现细节,3.8标准),您可以这样做:
id作为键has_hub是真下面是:
d = {} #create dict
for item in return_so + hub_so:
if item['id'] not in d or item['has_hub']:
d[item['id']] = item
expected_result = list(d.values())https://stackoverflow.com/questions/64962640
复制相似问题