在python中,有一种通过名字来引用值的数据结构,这种类型的数据结构成为映射。
字典是Python中唯一内建的映射类型,具有以下特点:
- 字典中的值是无序的
- 值存在特定的键(key)下
- 键(key)可以是数字,字符串或元组等不可变的数据类型。
字典由多个键及与其对应的值构成的键-值对组成:
phonebook = {'Alic':'2341', 'Beth':'9102', 'Cecil':'3258'}
dict函数:
用于建立字典
>>> items = [('name','eastonliu'),('age',32)] >>> d = dict(items) >>> d { 'name': 'eastonliu', 'age': 32} >>> d = dict(name='eastonliu',age=32) >>> d { 'name': 'eastonliu', 'age': 32}
一、基本字典操作
1、len(d)返回字典中键-值对的数量
>>> d = { 'name': 'eastonliu', 'age': 32} >>> len(d) 2
2、d[k]返回关联到键k上的值
>>> d = { 'name': 'eastonliu', 'age': 32}>>> d['name'] 'eastonliu'
3、d[k]=v将值v关联到键k上
>>> d = { 'name': 'eastonliu', 'age': 32} >>> d['score']=99 >>> d { 'name': 'eastonliu', 'age': 32, 'score': 99}
4、del d[k]删除键为k的项
>>> d = { 'name': 'eastonliu', 'age': 32} >>> del d['age'] >>> d { 'name': 'eastonliu'}
5、k in d 检查字典d中是否含有键为k的项
>>> d = { 'name': 'eastonliu', 'age': 32} >>> 'name' in d True>>> 'score' in d False
二、字典的格式化字符串
>>> phonebook = { 'Alic':'2341', 'Beth':'9102', 'Cecil':'3258'} >>> "Cecil's phone number is %(Cecil)s." % phonebook "Cecil's phone number is 3258."
三、字典的方法
1、clear
用于清除字典中的所有项
>>> d = { 'name': 'eastonliu', 'age': 32} >>> d.clear() >>> d {}
2、copy
返回一个具有相同键-值对的新字典
>>> x = { 'name': 'eastonliu', 'age': 32} >>> y = x.copy() >>> y { 'name': 'eastonliu', 'age': 32}
3、fromkeys
使用给定的键建立新的字典,每个键都对应一个默认的None值
>>> dict.fromkeys(['name','age']) { 'name': None, 'age': None}
4、get
通过键返回字典中的值,当键不存在时,返回None
>>> d = { 'name': 'eastonliu', 'age': 32} >>> d.get('name') 'eastonliu'>>> print (d.get('score')) None
5、items
以列表形式返回的键值对元组类型
>>> d = { 'name': 'eastonliu', 'age': 32} >>> d.items() dict_items([('name', 'eastonliu'), ('age', 32)])
6、keys
将字典中的键以列表形式返回
>>> d = { 'name': 'eastonliu', 'age': 32} >>> d.keys() dict_keys(['name', 'age'])
7、values
将字典中的值以列表形式返回
>>> d = { 'name': 'eastonliu', 'age': 32}>>> d.values() dict_values(['eastonliu', 32])