46、字典
字典是“键值对”的无序可变序列,字典中的毎个元素都是一个“键值对”,包含:"键
对象”和“值对象”。可以通过“键对象”实现快速获取、删除、更新对应的“值对象“。
列表中我们通过“下标数字”找到对应的对象。字典中通过“键对象”找到对应的“值对象”·“键”是任意的不可变数据,比如:整数、浮点数、字符串、元组,但是:列表、字典、集合这些可变对象,不能作为“键”。并且“键”不可重复
值”可以是任意的数据,并且可重复。
字典的创建
1.我们可以通过{}、dct{}来创建字典对象
2.通过zip()创建字典对象
>>>k=['name','age', 'job']
>>>v=['gaoqi',18,'techer']
>>>d=dict(zip(k, v))
>>>d
{'name': 'gaoqi', 'age': 18, 'job': 'techer'}
3.通过 fromkeys创建值为空的字典
>>>a=dict. fromkeys(['name', 'age', 'job'])
>>>a
{'name': None, 'age': None, 'job': None}
47、字典元素的访问
为了测试各种访问方法,我们这里设定一个字典对象:
a={'name':'gaoqi','age':18,'job':'programmer'}
1.通过[键]获得“值”。若键不存在,则抛出异常。
>>>a={'name':'gaoqi','age':18,'job':'programmer'}
>>>a['name']
'gaoqi'
>>>a['age']
18
>>>a['sex']
#KeyError: 'sex'
2.通过get()方法获得“值”。推荐使用。优点是:指定键不存在,返回None;也可以设定指定键不存在时默认返回的对象。-推荐使用get()获取“值对象
>>>a={'name':'gaoqi','age':18,'job':'programmer'}
>>>a.get('name')
'gaoqi'
>>>a.get('sex')
18
>>>a.get('sex','一个男人')
'一个男人'
3.列出所有的键值对
>>>a={'name':'gaoqi','age':18,'job':'programmer'}
>>>a.items()
dict_items([('name', 'gaoqi'), ('age', 18), ('job', 'programmer')])
4.列出所有的键,列出所有的值
>>>a={'name':'gaoqi','age':18,'job':'programmer'}
>>>a.keys()
dict_keys(['name', 'age', 'job'])
>>>a.values()
dict_values(['gaoqi', 18, 'programmer'])
5.len()键值对的个数
6.检测一个“键”是否在字典中
>>>a={'name':'gaoqi','age':18,'job':'programmer'}
>>>'name' in a
True
48 、字典元素添加、修改、删除
1.给字典新增“键值对”。如果“键”已经存在,则覆盖旧的键值对;如果“键”不存在,则新增“键值对”。
>>>a={'name':'gaoqi','age':18,&