python可分组字典
# -*- encoding: UTF-8 -*- from collections import defaultdict class News(object): def __init__(self, title, type): self.title =title self.type = type def __repr__(self): return "{'title':'%s', 'type':%s}"%(self.title, self.type) newses = [ News(u"宏观研究", 1), News(u"策略报告", 1), News(u"行业研究", 2), News(u"公司研究", 3), News(u"海外资讯", 3), News(u"其他", 1) ] #print newses #{ # 1: [{'title':宏观研究, 'type':1}, {'title':策略报告, 'type':1}, {'title':其他, 'type':1}], # 2: [{'title':行业研究, 'type':2}], # 3: [{'title':公司研究, 'type':3}, {'title':海外资讯, 'type':3}] #} #方法一 d = {} for n in newses: if n.type not in d: d[n.type] = [] d[n.type].append(n) #print d #方法二 d = {} for n in newses: d.setdefault(n.type, []).append(n) #print d #方法三 d = defaultdict(list) for n in newses: d[n.type].append(n) #print d #方法四 d = defaultdict(list) map(lambda n:d[n.type].append(n),newses) #print d #方法五 d = defaultdict(list) [d[n.type].append(n) for n in newses] #print d #输出 for key in d: print key, d[key] print '==============' for key in d: for value in d[key]: print key, value print '=============='
分类:
Python
标签:
python分组
, python group by
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
2014-02-10 65种应聘技巧回答
2011-02-10 Java拆箱装箱小结
2011-02-10 Java常用集合比较
2011-02-10 增强for循环用法
2011-02-10 Java可变参数的使用