首页 > 代码库 > python学习3 -索引
python学习3 -索引
字典:都可以叫通过轻松查找某个特定的词语(键),从而找到他的定义(值)。
创建和使用字典:
>>> phonebook = {‘zhang‘:‘231‘,‘wang‘:‘123‘}
dict 函数:可以通过dict函数,通过其他映射(比如其他字典)或者(键,值)对的序列建立字典
>>> items = [(‘name‘,‘zhang‘),(‘age‘,2)]
>>> d = dict(items)
>>> d
{‘age‘: 2, ‘name‘: ‘zhang‘}
>>> d["name"]
‘zhang‘
#dict 函数也可以通过关键字参数来创建字典
>>> d = dict(name ="zhang",age=2)
>>> d
{‘age‘: 2, ‘name‘: ‘zhang‘}
字典的基本操作
字典的基本行为在很多方面与序列类似
len(d) --返回d中 键值对的数量
d[k] --返回键K的值
d[k] = v --将V值赋值到 K键上 (若K 不在 d中,则自动添加到d 中,与序列不同)
del d[k] --删除 键为K 的值
k in d --检查d中是否含有键为K 的项 (注意:查找的是键)
字典的格式化字符串
在每个转换说明符中的%后 加上键(用括号),后面再更上其他说明元素
>>> phonebook = {‘zhang‘:‘123‘,‘wang‘:‘555‘}
>>> "zhang‘s phone number is %(zhang)s." % phonebook
"zhang‘s phone number is 123."
字典的方法
1.clear -- 清除字典中的所有项。无返回值,或者可以理解为 返回None
>>> d = {}
>>> d[‘name‘] = ‘zhang‘
>>> d[‘age‘] = 23
>>> d
{‘age‘: 23, ‘name‘: ‘zhang‘}
>>> return_value =http://www.mamicode.com/ d.clear()
>>> print return_value
2.copy 与 deepcopy 复制
3.from_keys --使用给点的键 建立新的字典
4.get 更宽松的访问字典的方法,如果键 不存在 返回None
5.has_key 与 in 方法一样
6.items 和 iteritems --keys 和 iterkeys
items --将字典所有项以列表方式返回 列表中每一项都会表示为(键,值)对的形式,但没有什么次序
iteritems --作用大致相同,但会返回一个迭代器,而不是列表
>>> d = {‘titile‘:‘i am a tiger‘,‘age‘:10}
>>> d.items()
[(‘age‘, 10), (‘titile‘, ‘i am a tiger‘)]
>>> it = d.iteritems()
>>> it
<dictionary-itemiterator object at 0x02B136C0>
7.pop --用来获得对应于 键的值,并删除这对键值对
>>> d
{‘age‘: 10, ‘titile‘: ‘i am a tiger‘}
>>> d.pop(‘age‘)
10
>>> d
{‘titile‘: ‘i am a tiger‘}
#不存在键,报错
>>> d.pop(‘name‘)
Traceback (most recent call last):
File "<pyshell#7>", line 1, in <module>
d.pop(‘name‘)
KeyError: ‘name‘
8.popitem 弹出随机的项,并删除
>>> d
{‘age‘: 10, ‘titile‘: ‘i am a tiger‘}
>>> d.popitem()
(‘age‘, 10)
>>> d
{‘titile‘: ‘i am a tiger‘}
9.setdefault -类似于get方法,能够获得给定键相关联的值,还能在字典中不含有给定键的情况下设定相应的键值
>>> d = {}
>>> d.setdefault(‘name‘,‘N/A‘)
‘N/A‘
>>> d
{‘name‘: ‘N/A‘}
>>> d[‘name‘] = ‘zhang‘
>>> d.setdefault(‘name‘,‘N/A‘)
‘zhang‘
>>> d
{‘name‘: ‘zhang‘}
10.update --利用一个字典更新另外一个字典 ,被更新的字典 会加到 原字典中,键相同的话会被覆盖
>>> d = {‘title‘:‘zhang‘,‘age‘:10}
>>> x = {‘age‘:20}
>>> d.update(x)
>>> d
{‘age‘: 20, ‘title‘: ‘zhang‘}
>>> y = {‘sex‘:‘male‘}
>>> d.update(y)
>>> d
{‘age‘: 20, ‘sex‘: ‘male‘, ‘title‘: ‘zhang‘}
python学习3 -索引