[python]pythonic的字典常用操作
2016-01-26 17:07
696 查看
注意:dct代表字典,key代表键值
1.判断字典中某个键是否存在
实现
更Pythonic方法
2.获取字典中的值
你想对key的value加1,首先你要判断key是否存在,不存在给一个默认值
实现
更Pythonic方法
如果key存在则返回对应的value,如果不存在返回默认值(这里是0)
3.字典的value是可变对象
如果这个可变对象为list,你想初始化并修改它们。
实现
更Pythonic方法
更更Pythonic方法
dct = defaultdict(list) 等同于 dct.setdefault(key, []) 据说前者快。
defaultdict详解
4.合并两个字典
如果合并两个字典的时候,如果两个字典有相同的key,则把value相加
参考:
python:字典剧本
python中两个字典合并
合并字典时,相同key的value相加
1.判断字典中某个键是否存在
实现
dct.has_key(key) #False
更Pythonic方法
key in dct #False
2.获取字典中的值
你想对key的value加1,首先你要判断key是否存在,不存在给一个默认值
实现
if key not in dct: dct[key] = 0 dct[key] += 1
更Pythonic方法
dct[key] = dct.get(key, 0) + 1
如果key存在则返回对应的value,如果不存在返回默认值(这里是0)
3.字典的value是可变对象
如果这个可变对象为list,你想初始化并修改它们。
实现
for (key, value) in data: # 把key和value以元组的结构存到list中 if key in dct: dct[key].append(value) else: dct[key] = [value]
更Pythonic方法
for (key, value) in data: dct.setdefault(key, []).append(value)
更更Pythonic方法
dct = defaultdict(list) # 字典value的默认值为[] for (key, value) in data: dct[key].append(value)
dct = defaultdict(list) 等同于 dct.setdefault(key, []) 据说前者快。
defaultdict详解
4.合并两个字典
a = {'a':1,'b':2} b = {'c':3} # 方法1 new_dict = a new_dict.update(b) # 方法2 new_dict = dict(a.items()+b.items()) # 方法3(Pythonic) new_dict = dict(a, **b)
如果合并两个字典的时候,如果两个字典有相同的key,则把value相加
from collections import Counter a = {'a':1,'b':2} b = {'a':1} c = Counter(a) + Counter(b) # 此时c为Counter对象 c = dict(c) # 转变成字典 print c # {'a': 2, 'b': 2}
参考:
python:字典剧本
python中两个字典合并
合并字典时,相同key的value相加
相关文章推荐
- Python + Pexpect远程监控服务器
- python数字图像处理(17):边缘与轮廓
- Python 连接 Hbase
- MySQL Connector/Python
- Python 全栈开发 -- 监控篇
- Python 全栈开发 -- 监控篇
- Python中APScheduler模块的使用
- python正则表达式例子说明
- 【LEETCODE】313-Super Ugly Number [Python]
- python-->>第四天
- python模块系列之 - time,datetime,calendar
- Python之 with and as
- Python3.4 tkinter,PIL图片转换(GUI)
- Python3.4 垃圾清理(GUI)
- python代码片段——获得三天前时间
- python正则--简单匹配身份证号
- Python函数中*args和**kwargs来传递变长参数的用法
- python 之 readline
- 文本预处理小结
- Python之I/O