Python学习笔记【四】——《python基础教程》:: 字典:当索引不好用时
来源:互联网 发布:35位网络作家排名 编辑:程序博客网 时间:2024/05/16 03:17
第4章 字典:当索引不好用时
4.2. 创建和使用字典
- 字典格式:{key: value, key: value, … key: value}
- 空字典:{}
- 字典中键唯一,值不唯一。
4.2.1. dict函数
#使用(键,值)序列对建立字典>>> items = [('name', 'gumby'), ('age', 42)]>>> d = dict([('name', 'gumby'), ('age', 42)])>>> d{'age': 42, 'name': 'gumby'}#使用其他映射建立字典>>> d1 = dict(d)>>> d1{'age': 42, 'name': 'gumby'}#使用关键字参数来创建字典>>> d = dict(name='gumby', age=42)>>> d{'age': 42, 'name': 'gumby'}
4.2.2. 基本字典操作
- 与序列类似操作
2. 与列表区别
(效率高,数据结构规模达时更效果更明显) 查找值
4.2.3. 字典的格式化字符串
使用方法:”string1 %(key)format string2” % dictionary
>>> "holly's phone number is %(holly)d" % {'holly':123, 'holly1':456}"holly's phone number is 123"
4.2.4. 字典方法
1. clear:清除字典中所有的项,无返回值。
>>> d={'key1' : 1, 'key2' : 2}>>> d{'key2': 2, 'key1': 1}>>> d.clear()>>> d{}
2. copy:返回一个具有相同键-值对的新字典。
copy方法实现的是浅复制,与其对应的是深复制,具体参照http://blog.csdn.net/heli200482128/article/details/73732072
3. fromkeys:使用给定的键建立新字典。
#使用所有字典的类型dict#不指定值,默认为None>>> dict.fromkeys(['name', 'age']){'age': None, 'name': None}#指定值,所有键都使用相同的值>>> dict.fromkeys(['name', 'age'],['1', '2']){'age': ['1', '2'], 'name': ['1', '2']}
4. get:宽松的访问字典项的方法,当访问的键不存在,不会出错。
>>> d = {}>>> d[1]Traceback (most recent call last): File "<stdin>", line 1, in <module>KeyError: 1#当默认情况下,若键不存在,返回None>>> print d.get(1)None#也可以指定键不存在时的返回值>>> print d.get(1, 'N/A')N/A
5. has_key:相当于 k in d。Python3.0中不包含此函数。
6. items和iteritems
items:所有字典项以列表方式返回,列表项来自于(键,值)。但是列表项无特殊顺序。
>>> {'name': 'holly', 'phone': 123, 'addr': 'shandongyantai'}.items()[('phone', 123), ('name', 'holly'), ('addr', 'shandongyantai')]
iteritems:返回字典项的迭代器
>>> it = {'name': 'holly', 'phone': 123, 'addr': 'shandongyantai'}.iteritems()>>> it<dictionary-itemiterator object at 0x7fcdbbd7dcb0>>>> list(it)[('phone', 123), ('name', 'holly'), ('addr', 'shandongyantai')]
7. key和iterkeys
- keys:字典中键以列表形式返回。
- iterkeys:返回键的迭代器。
8. pop:获得对应给定键的值,将这个键-值对从字典中移除。
>>> d = {'name': 'holly', 'phone': 123, 'addr': 'shandongyantai'}>>> d.pop('name')'holly'>>> d{'phone': 123, 'addr': 'shandongyantai'}
9. popitem:弹出字典中随机项。
>>> d = {'name': 'holly', 'phone': 123, 'addr': 'shandongyantai'}>>> d.popitem()('phone', 123)>>> d{'name': 'holly', 'addr': 'shandongyantai'}>>> d.popitem()('name', 'holly')>>> d{'addr': 'shandongyantai'}
常用于依次移除并处理项。
10. setdefault:获得与给定键相关联的值,字典中不含有给定键的情况下设定键值。
#当键不存在时,返回默认值并更新字典>>> d.setdefault('name', 'N/A')'N/A'>>> d{'name': 'N/A'}#当键存在时,返回与其对应的值,但不改变字典。>>> d['phone'] = 123>>> d{'phone': 123, 'name': 'N/A'}>>> d.setdefault('phone', 'N/A')123>>> d{'phone': 123, 'name': 'N/A'}
11. update:利用字典项更新另一个字典
#字典中的项若键不存在于字典中,则该项会添加到就字典中;若键存在于字典中,字典中相应键值被覆盖>>> d = {'name': 'holly', 'phone': 123, 'addr': 'shandongyantai'}>>> d.update({'newkey': 'newvalue', 'phone': 456})>>> d{'phone': 456, 'name': 'holly', 'newkey': 'newvalue', 'addr': 'shandongyantai'}
12. values和itervalues
values:以列表形式返回字典中的值,可能包含重复元素。
>>> d = {'name': 'holly', 'phone': 123, 'addr': 'shandongyantai'}>>> d.values()[123, 'holly', 'shandongyantai']
itervalues:返回字典中值的迭代器。
阅读全文
0 0
- Python学习笔记【四】——《python基础教程》:: 字典:当索引不好用时
- Python基础教程笔记——字典:当索引不好用时
- 《Python基础教程》学习笔记 Chap4 字典:当索引不好用时
- Python基础教程第四章学习笔记——字典:当索引不好用时
- 《Python基础教程》学习笔记之[D4]当索引不好用时—字典
- Python学习笔记(四) 字典: 当索引不好用时
- 第四章-字典当索引不好用时:——python基础教程(第二版)笔记
- Python学习笔记-第四章 字典:当索引不好用时
- 《python 基础教程》第四章 字典:当索引不好用时
- Python基础教程--字典;当索引不好用时
- Python基础编程(四)字典:当索引不好用时
- Python基础--字典:当索引不好用时
- Python 字典:当索引不好用时
- Python基础教程之第4章 字典: 当索引不好用时
- 《Python基础教程 第2版·修订版》 字典:当索引不好用时(一)
- FishC笔记—25 讲 字典:当索引不好用时
- Python 第四章 字典:当索引不好用时
- 字典:当索引不好用时
- 权限相关工具类
- Unity MD5 图片校验
- 线段树 延迟标记
- abap dec和curr的区别
- 美团推荐算法实践
- Python学习笔记【四】——《python基础教程》:: 字典:当索引不好用时
- javaAES加密解密32位密钥
- AT&T衰落的原因
- vue常见问题解决办法(二)|warning:component lists rendered with v-for should have explicit keys
- jquery validate 验证不提示问题
- [Leetcode] 231. Power of Two 解题报告
- SVN 报错 sqlite[S11]: database disk image is malformed
- 安装tslib中遇到的错误:./autogen.sh: 4: autoreconf: not found
- 【特征工程】3 特征工程技术与方法