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可分组字典的更多相关文章
- itertools.groupby()分组字典列表
## itertools.groupby()分组字典列表数据 from operator import itemgetter from itertools import groupby student ...
- Python列表,元组,字典,序列,引用
1.列表 # Filename: using_list.py # This is my shopping list shoplist=["apple", "mango&q ...
- Python基础知识---字典
现在在实习期间,好久没用Python了,今天在做Java项目时用的HashMap让我联想到了Python中的字典,就写一些Python字典的知识吧,复习复习. 字典: key --> valu ...
- python基础之字典dict和集合set
作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7043642.html python基础之字典dict和集合set 字典dic ...
- python中 字符 字典 列表之间的转换
1 字典 转 字符 定义一个字典:dict = {'name': 'python', 'age': 7}字典转字符 可以使用str强制转换 如: str(dict) 此时dict的类型就是字符型了 2 ...
- python集合与字典的用法
python集合与字典的用法 集合: 1.增加 add 2.删除 •del 删除集合 •discard(常用)删除集合中的元素 #删除一个不存在的元素不会报错 •remove 删除一个不存在的 ...
- python之路--字典
一. 字典 字典是以key:value的形式来保存数据的,用{}表示 字典的增删改查 字典的增加 dic = {"意大利": "李云龙", "美国&q ...
- Python数据类型(字典和集合)
1.5 Dictionary(字典) 在Python中,字典用放在花括号{}中一系列键-值对表示.键和值之间用冒号分隔,键-值对之间用逗号分隔. 在字典中,你想存储多少个键-值对都可以.每个键都与一个 ...
- python创建有序字典及字典按照值的大小进行排序
有序字典 在Python中,字典类型里面的元素默认是无序的,但是我们也可以通过collections模块创建有序字典 # -*- coding:utf-8 -*- # python有序字典需导入模块c ...
随机推荐
- 修改thinkphp路由模式,去掉Home
第一步:入口文件增加 define('BIND_MODULE', 'Home'); 第二步:修改config文件,我这里路由模式设置为2 效果展示:
- ahjesus 单词单数-复数相互转换C#
看codesmith内置的模板在生成存储过程的时候有单复数的转换,用相同的函数名实现了一个 public static class StringUtil { /// <summary> / ...
- Guava学习笔记:Guava新增集合类型-Multiset
Guava引进了JDK里没有的,但是非常有用的一些新的集合类型.所有这些新集合类型都能和JDK里的集合平滑集成.Guava集合非常精准地实现了JDK定义的接口.Guava中定义的新集合有: Multi ...
- Droid@screen:在PC屏幕上显示Android手机屏幕
这里介绍一款工具——Droid@screen,用来获取手机屏幕,显示在PC屏幕上.它集截图.录像等多种功能于一体. 安装 1. 下载地址:http://droid-at-screen.org/d ...
- 用fasterjson需要注意的地方
JSONArray.toJSONString()之后不是一个json,而是json中的一个数组 JSONObject是一个json JSON.toJSONString()不可多次使用,因为每次调用JS ...
- 删除 QQ 最新版右键菜单 通过QQ发送文件到手机
64位:打开命令行执行: regsvr32 /u "C:\Program Files (x86)\Tencent\QQ\Bin\QQShellExt64.dll" 32位:打开命令 ...
- (2)RGB-D SLAM系列- 工具篇(依赖库及编译)
做了个SLAM的小视频,有兴趣的朋友可以看下 https://youtu.be/z5wDzMZF10Q 1)Library depended 一个完整的SLAM系统包括,数据流获取,数据读取,特征提取 ...
- 使用 github + jekyll 搭建个人博客
github + jekyll 本地写markdown,然后push到github,就成了博客 其实我一早就知道这两者可以搭建个人博客,因为本人有个很好的习惯——每天都会去看看一些热门文章,了解行业最 ...
- MySql基本概念(一)
MySQL基本概念 一. 数据库系统概述: mysql是数据库系统的一种,下面是所有数据库系统中主要的组件. 数据库系统由硬件部分和软件部分构成,硬件主要用于存储数据库中的数据,包括计算机.存储设备. ...
- [Android]仿新版QQ的tab下面拖拽标记为已读的效果
以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/4182929.html 可拖拽的红点,(仿新版QQ,tab下面拖 ...