Python学习之collections module-defaultdict()
defaultdict()继承自dict系统内置类型
defaultdict()定义以及作用:
返回一个和dictionay类似对象,和dict不同:
1. 可以制定key对应value类型
2. 不必担心key没有默认值,defaultdict有默认value
示范代码如下:
from collections import defaultdict
list0 = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
dict0 = defaultdict(list)
for k, v in list0:
dict0[k].append(v) print(list(dict0.items())) dict1 = {}
for k, v in list0:
dict1.setdefault(k, []).append(v)
print(list(dict1.items())) dict2 = {}
for k, v in list0:
dict2[k].append(v) print(dict2.items())
输出结果如下:
[('blue', [2, 4]), ('red', [1]), ('yellow', [1, 3])]
[('blue', [2, 4]), ('red', [1]), ('yellow', [1, 3])]
Traceback (most recent call last):
File "collections_test.py", line 16, in <module>
dict2[k].append(v)
KeyError: 'yellow'
dict0 = defaultdict(list)创建一个defaultdict类型,value的类型是list。该函数主要用于生成字典时候限制value类型;
而setdefault必须手动制定value类型。
Python学习之collections module-defaultdict()的更多相关文章
- python学习笔记之module && package
个人总结: import module,module就是文件名,导入那个python文件 import package,package就是一个文件夹,导入的文件夹下有一个__init__.py的文件, ...
- Python学习笔记: getpass module: 安全输入密码
使用场景 使用input()函数接收用户输入的时候会将用户输入回显,对于密码肯定是不适用的.标准库里面有getpass module提供了安全输入不回显 getpass module有2个函数 get ...
- Python自建collections模块
本篇将学习python的另一个内建模块collections,更多内容请参考:Python学习指南 collections是Python内建的一个集合模块,提供了许多有用的集合类. namedtupl ...
- python collections module's defaultdict
Collections is a high-performance container datatypes. defaultdict objects class collections.default ...
- python学习之老男孩python全栈第九期_day019知识点总结——collections模块、时间模块、random模块、os模块、sys模块
一. collections模块 在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:namedtuple.deque.Counte ...
- python学习笔记:第21天 常用内置模块之collections和time
目录 一.collections模块 二.时间模块 也可以在我的个人博客上阅读 一.collections模块 1. Counter Counter是⼀个计数器,主要⽤统计字符的数量,之前如果我们要统 ...
- python:学习defaultdict,namedtuple
# -*- coding: utf-8 -*-__author__ = 'Administrator'import bisect#排序说明:http://en.wikipedia.org/wiki/i ...
- Python学习——collections系列
一 ,计数器(counter) Counter是对字典类型的补充,用于追踪值得出现次数 ps:具备字典的所有功能 + 自己的功能 例: >>> from collections im ...
- python基础学习笔记——collections模块
在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter.deque.defaultdict.namedtuple和Ord ...
随机推荐
- RedisService
package com.sprucetec.bone.common.redis;import com.alibaba.fastjson.JSON;import org.springframework. ...
- ios中的银联支付
场景 随着移动互联网的迅猛发展,移动互联已经深深地融入我们的生活.其中,支付方式也是我们生活中经常遇到的情况.所以,在我们的应用中加入支付功能是多么的重要.现在主流的支付接口,一是支付宝类的,一是银联 ...
- [置顶] Ajax 初步学习总结
Ajax是什么 Ajax是(Asynchronous JavaScript And XML)是异步的JavaScript和xml.也就是异步请求更新技术.Ajax是一种对现有技术的一种新的应用,不是一 ...
- IOS学习之蓝牙4.0
1建立中心角色 1 2 3 #import <CoreBluetooth/CoreBluetooth.h> CBCentralManager *manager; manager = [ ...
- Windows下Oracle服务介绍
如图,截取的是11gR2下RAC其中一个节点的Oracle服务列表. oracle在处理一般事务时并不需要全部启动其后台的所有服务由于oracle服务所占用系统资源比较大,一般情况下,对于单实例的OR ...
- python学习(序章)
好久没写过笔记了,最近听说写博客笔记能使知识记忆更深刻,于是就开始写写,不为推广,只为增加记忆.好了,开始python的学习: 学习一门语言的快慢,与人无关,主要是与学习的目的有关,python语言目 ...
- django-rest-framework 快速开始
搭建项目 # Set up a new project django-admin.py startproject tutorial cd tutorial # Create a virtualenv ...
- MVC下载Excel
方法1: public ActionResult DownExcel() { var stream = list.Select(p => new { p.UserName, p.Mobile, ...
- 如何分割(split)string字符串
使用String#split()方法 如下所示: String string = "004-034556"; String[] parts = string.split(" ...
- 【转】CxImage图像库的使用
CxImage下载地址:http://www.codeproject.com/KB/graphics/cximage/cximage600_full.zip 作者:Davide Pizzolato C ...