您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python字典列表根据值查找重复项

python字典列表根据值查找重复项

最好将“ desc”值保留在所有列表中,即使它们仅包含单个元素也是如此。这样你可以做

for d in b:
    print d['id']
    for desc in d['desc']:
        print desc

这也适用于字符串,只返回单个字符,这不是您想要的。

现在,该解决方案为您提供了列表的字典列表:

a =[{'id': 1,'desc': 'smth'},{'id': 2,'desc': 'smthelse'},{'id': 1,'desc': 'smthelse2'},{'id': 1,'desc': 'smthelse3'}]

c = {}
for d in a:
    c.setdefault(d['id'], []).append(d['desc'])
b = [{'id': k, 'desc': v} for k,v in c.iteritems()]

b 就是现在:

[{'desc': ['smth', 'smthelse2', 'smthelse3'], 'id': 1},
 {'desc': ['smthelse'], 'id': 2}]
python 2022/1/1 18:42:05 有258人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶