Python: dict setdault函数与collections.defaultdict()的区别
setdault用法
>>>dd={'hy':1,'hx':2}
>>>cc=dd.setdefault('hz',1)
>>>cc 返回1,是新加的健对应的值
>>>dd 返回{'hy':1,'hx':2,'hz':1}
>>>cc=dd.setdefault('hz',100) 返回1,不改变原来的值
Python字典setdefault()函数:
如果键不存在于字典中,将会添加键并将值设置为默认值
defualtdict()用法
eg1:
>>>from collections import defaultdict
>>>ss=[('g1',1),('g1',2),('g2',1)]
>>>dss=defaultdict(list)
>>>for k,v in ss:
... dss[k].append(v)
...
>>>dss 返回 defaultdict(<class 'list'>, {'g1':[1,2],'g2':[1]})
eg2:
>>>dedd=defaultdict(int)
>>>dedd['hy']=1
>>>dedd 返回defaultdict(<class 'int'>,{'hy':1})
>>>dedd['as'] 返回0,键['as']不在dedd中
dict setdault函数与collections.defaultdict()的区别:
1.defaultdict跟setdefaul等价,但是更快
2.defaultdict创建字典时,对每个新的键都会指定默认值,它的参数是一个函数
使用int(),dict(),list()作为参数,默认值分别返回0,空字典{},空列表[], 如果删掉该函数的参数,新建的初始值会被设置为None
Python: dict setdault函数与collections.defaultdict()的区别的更多相关文章
- Python dict 存放函数
Python 字典,可以直接存放函数,并执行正常. #!/usr/bin/python3 dict1 = dict() def test_fun(): print("test dict&qu ...
- python dict的函数
1. dict.clear() 删除字典内所有元素 2. dict.copy() 返回一个字典的浅复制 3. dict.fromkeys(seq[, val]) 创建一个新字典,以序列 seq 中元素 ...
- Python中function(函数)和methon(方法)的区别
在Python中,对这两个东西有明确的规定: 函数function —— A series of statements which returns some value to a caller. It ...
- python list成员函数extend与append的区别
extend 原文解释,是以list中元素形式加入到列表中 extend list by appending elements from the iterable append(obj) 是将整个ob ...
- Python collections.defaultdict() 与 dict的使用和区别
看样子这个文档是难以看懂了.直接看示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 import collections s = [('yellow', ...
- (转)Python 3 collections.defaultdict() 与 dict的使用和区别
原文:https://www.cnblogs.com/herbert/archive/2013/01/09/2852843.html 在Python里面有一个模块collections,解释是数据类型 ...
- Python 3 collections.defaultdict() 与 dict的使用和区别
综述: 这里的defaultdict(function_factory)构建的是一个类似dictionary的对象,其中keys的值,自行确定赋值,但是values的类型,是function_fact ...
- python collections defaultdict
class_counts = defaultdict(int) 一.关于defaultdict 在Python里面有一个模块collections,解释是数据类型容器模块.这里面有一个collect ...
- Python collections.defaultdict 笔记
其实defaultdict 就是一个字典,只不过python自动的为它的键赋了一个初始值.这也就是说,你不显示的为字典的键赋初值python不会报错,看下实际例子. 比如你想计算频率 frequenc ...
随机推荐
- [心跳] 使用心跳机制实现CS架构下多客户端的在线状态实时更新以及掉线自动重连
此文讲述的内容是一个实际项目开发中的一部分内容,笔者将亲身经历写成文章. [背景] 现 需要实现这样的功能:有多个客户端连着同一个服务器.服务器和客户端之间需要“互相”知道彼此的连接状态.比如在某一时 ...
- Unity3D笔记十五 碰撞、移动
碰撞 Collision. [kəˈliʒən] 碰撞:冲突:(意见,看法)的抵触:(政党等的)倾轧 选择一个需要添加碰撞器的游戏对象后 Component->Physics- Unity一共为 ...
- 数据库操作相关(sql语句-命令行)
创建数据库: create database books; 创建用户: mysql> grant select,insert,delete,uptate -> on books.* ...
- 【转】单片机中volatile定义的作用详解
传送门:http://www.eeworld.com.cn/mcu/2011/0411/article_3928.html 一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译 ...
- zabbix中文乱码的问题
在使用zabbix时,有时候会出现中文乱码的问题,如下: 因为zabbix自身对中文简体的支持不完善,需要我们手动的去上传新的字体进行替换: 1.在windows获取字体库文件 在Windows上的字 ...
- ceil 和floor
ceil 天花板 floor 地板 ceil向上取整 foor向下取整
- Supervisor(Linux/Unix进程管理工具)安装与配置
参考链接:https://blog.csdn.net/xyang81/article/details/51555473 Supervisor(http://supervisord.org/)是用Pyt ...
- 一个sfm开源项目
Structure from Motion 资料总结 https://blog.csdn.net/u014636245/article/details/77527627 github上用opencv实 ...
- Unity事件处理机制与NGUI事件机制
1 Unity原生 1.1 GUI void OnGUI(){ if(GUI.Button(Rect position, string text)){ //点击后立即执行 } 1.1 Input 每个 ...
- model方法取值总结
转自:https://www.cnblogs.com/ajianbeyourself/p/3604332.html