流程的Python 第三章:字典和集合
来源:互联网 发布:千牛是淘宝卖家版么 编辑:程序博客网 时间:2024/05/21 02:33
前言:
字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。
目录:
- 内容回顾
- 相关资料
- 阅读后感
正文:
一. 内容回顾
1.1 泛映射类型
Mapping和MutableMapping这两个抽象类,他们的作用是为了dict和其他类似的类型定义形式接口。
1.2 字典推导
列表推导和生成器表达式的概念移植在字典上,从而使得字典推导有了以任何键值作为元素迭代构建出字典。
1.3 常见的映射方法
'clear', 'copy', 'fromkeys', 'get', 'has_key', 'items', 'iteritems', 'iterkeys', 'itervalues', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values', 'viewitems', 'viewkeys', 'viewvalues'
1.4 映射的弹性健查询
defaultdict 处理找不到的健的一个选择,以及特殊方法 _ missing_,都是为了在找不到健的时候,给个默认值。
1.5 字典的变种
collections.Counter
ct = collections.Counter('adsdsvadacadr')print ct执行结果:Counter({'a': 4, 'd': 4, 's': 2, 'c': 1, 'r': 1, 'v': 1})
1.6 子类化UserDict
import collectionsclass StrKeyDict(collections.UserDict): def __missing__(self, key): if isinstance(key, str): raise KeyError(key) return self[str(key)] def __contains__(self, key): return str(key) in self.data def __setitem__(self, key, item): self.data[str(key)] = item
1.7 不可变映射类型
MappingProxyType来获取只读的字典,防止用户错误地修改某个映射。
1.8 集合论
集合可以用于去重( set )。
1.9 dict和set的背后
dict和set的效率很高,举例:在一个有1000万个健的字典里查找1000个数,花在每个数上的时间不过是0.337毫秒。
二. 相关资料
Python字典的常用操作方法:
1.has_key(‘key名称’)
判断字典里是否有该键存在,如果存在的话返回True,不存在的话返回False
比如
a.has_key(“name”)返回True
a.has_key(“sss”)返回False
2.keys()返回的是字典键组成的列表
比如a.keys()
返回:[‘age’,’name’]
3.values返回的是字典值组成的列表
比如a.values()
返回:[23,’xiaoming’]
4.update()方法,把2个字典进行合并
比如我现在又建立了一个
b = {‘sex’:’man’}
a.update(b)
print a
输出的结果是:{‘age’: 23, ‘name’: ‘xiaoming’, ‘sex’: ‘man’}
5.update方法也可以更新和添加字典
>>> info = dict(name='cold', blog='linuxzen.com')>>> info.update({'name':'cold night', 'blogname':'linuxzen'})>>> info{'blog': 'linuxzen.com', 'name': 'cold night', 'blogname': 'linuxzen'}>>> info.update(name='cold', blog='www.linuxzen.com') # 更优雅>>> info{'blog': 'www.linuxzen.com', 'name': 'cold', 'blogname': 'linuxzen'}
三. 阅读后感
收获在映射类型API中,_ missing_是个很好的方法,当对象找不到某个健的时候,可以通过这个方法自定义会发生什么。
参考:
1. Python字典和集合
2. 高性能Python-字典和集合
- 流程的Python 第三章:字典和集合
- python字典和集合
- Python字典和集合
- Python字典和集合
- Python字典和集合
- **PYTHON** 字典和集合
- Python字典和集合
- python练习题--字典和集合
- Python之集合和字典
- [python相关]python字典和集合
- python字典和集合,frozenset和哈希值
- Python核心编程之字典和集合
- python入门--字典dict和集合set
- python学习11-集合和字典
- Python 元组、集合和字典 实例
- Python--映像和集合类型(字典)
- python中的 元组 字典 和集合
- python篇4_集合和字典
- 钉钉 工作通知 集成 实现步骤
- android使用HTTPS
- 第一章javascript词法结构笔记摘要
- notepad++ 配置C/C++环境
- Ss 笔记
- 流程的Python 第三章:字典和集合
- 定义一个ArrayList集合,存储一批书籍,书籍具有书名、作者、价格三个属性, 键盘录入一个书名时,显示该书籍的详细信息。
- Oracle之表的种类(heap,partition table,glable temp table,orgination index table,cluster sort hash table)
- mapreduce 统计流量
- spring之使用表达式定义切入点
- u-boot第二阶段分析(一)
- 判断IP合法性和纯数字合法性
- jqueryeasyui datagrid
- Vue.js学习系列六——Vue单元测试Karma+Mocha学习笔记