首页 > 其他 > 详细

合并去重

时间:2021-05-24 15:27:12      阅读:28      评论:0      收藏:0      [点我收藏+]

 

# 2个列表中的字典,根据字典的指定字段:tag_info去重

a = [{version: 13, tag_info: tag:shifou-3232661, commit_id: 720eb278b7efe5b259413190a75c6f2be984bade},
     {version: 12, tag_info: tag:shifou-3232662, commit_id: 720eb278b7efe5b259413190a75c6f2be984bade},
     {version: 11, tag_info: tag:shifou-3232663, commit_id: 720eb278b7efe5b259413190a75c6f2be984bade},
     {version: 5, tag_info: tag:shifou-3232664, commit_id: 720eb278b7efe5b259413190a75c6f2be984bade}]

b = [{version: 133, tag_info: tag:shifou-3232666, commit_id: 720eb278b7efe5b259413190a75c6f2be984bade},
     {version: 122, tag_info: tag:shifou-3232666, commit_id: 720eb278b7efe5b259413190a75c6f2be984bade},
     {version: 113, tag_info: tag:shifou-3232663, commit_id: 720eb278b7efe5b259413190a75c6f2be984bade},
     {version: 54, tag_info: tag:shifou-3232664, commit_id: 720eb278b7efe5b259413190a75c6f2be984bade}]

# 输出
# c = [
#     {‘tag_info‘: ‘tag:shifou-323266‘, ‘commit_id‘: ‘720eb278b7efe5b259413190a75c6f2be984bade‘},
#     {‘tag_info‘: ‘tag:shifou-323266‘, ‘commit_id‘: ‘720eb278b7efe5b259413190a75c6f2be984bade‘}
# ]

tag_info_b = [ele["tag_info"] for ele in b]
result = []
# 求a、b的交集:
for ele in a:
    tag_info = ele["tag_info"]
    if tag_info in tag_info_b:
        result.append(ele)

print(result)

 

 

# 一个列表中包含多个字典,根据字典key去重

    # 待合并的项目信息,不同需求中可能包含重复的项目(不同需求包含相同project_id), 但分支不同,需要把其中每个分支都merge到master
    pc_values = ProjectConfig.objects.filter(demand_id__in=demand_id_lst).values("demand_id", "branch", "project_id",
                                                                            "project_name", "git_url", "env", "stage")

    # 合并分支前按project_id、branch去重, 正常来说:不同需求的项目,分支一定不同
    result = []
    _tmp = []
    for i in pc_values:
        unique_key = str(i["project_id"]) + i["branch"]
        if unique_key not in _tmp:
            result.append(i)
        _tmp.append(unique_key)

 

合并去重

原文:https://www.cnblogs.com/yum777/p/14803770.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!