字典元素的访问
为了测试各种访问方法,我们这里设定一个字典对象:
a = {'name': 'king', 'age': 36, 'job': 'NBA'}
1、通过 [键] 获得 '值' 。若键不存在,则抛出异常。
>>> a = {'name': 'king', 'age': 36, 'job': 'NBA'} >>> a['name'] 'king' >>> a['job'] 'NBA' >>> a['sex'] Traceback (most recent call last): File "<pyshell#169>", line 1, in <module> a['sex'] KeyError: 'sex'
2、通过 get() 方法获得 '值' 。 推荐使用。优点:指定键不存在,返回 None,也可以设定指定键不存在时默认返回的对象。推荐使用get()获取 '值对象'。
>>> print(a.get('sbdj')) None >>> print(a.get('sex','一个男人')) 一个男人
3、列出所有的键值对
>>> a.items() dict_items([('name', 'king'), ('age', 36), ('job', 'NBA')])
4、列出所有的键,列出所有的值。
>>> a.keys() ['job', 'age', 'name'] >>> a.values() ['NBA', 36, 'king']
5、len()统计键值对的个数
>>> a {'job': 'NBA', 'age': 36, 'name': 'king'} >>> len(a) 3
5、检测一个 '键' 是否在字典中
>>> a {'job': 'NBA', 'age': 36, 'name': 'king'} >>> 'name' in a True
字典元素添加、修改、删除
1、给字典新增 ‘键值对’。如果 ‘键’ 已经存在,则覆盖旧的键值对; 如果 ‘键’ 不存在,则 新增 ‘键值对’。
>>> a = {'name':'king', 'age':36, 'job':'NBA'} >>> a['address']= '洛杉矶' >>> a {'name': 'king', 'age': 36, 'job': 'NBA', 'address': '洛杉矶'} >>> a['age'] = 35 >>> a {'name': 'king', 'age': 35, 'job': 'NBA', 'address': '洛杉矶'}
2、使用update()将新字典中所有键值对全部添加到旧字典对象上。如果key有重复,则直接覆盖。
>>> a {'name': 'king', 'age': 35, 'job': 'NBA', 'address': '洛杉矶'} >>> b {'name': '詹姆斯', 'money': 3000, 'sex': 'man'} >>> a.update(b) >>> a {'name': '詹姆斯', 'age': 35, 'job': 'NBA', 'address': '洛杉矶', 'money': 3000, 'sex': 'man'}
3、字典中元素的删除,可以使用del()方法;或者clear() 删除所有键值对;pop()删除指定键值对,并返回对应的‘值对象’;
>>> a {'name': 'king', 'age': 35, 'job': 'NBA', 'address': '洛杉矶'} >>> del(a['address']) # 删除‘address’键值对 >>> a {'name': 'king', 'age': 35, 'job': 'NBA'} >>> a {'name': 'king', 'age': 35, 'job': 'NBA'} >>> a.pop('age') # 删除键值对age,并返回值对象 35 >>> a {'name': 'king', 'job': 'NBA'}
>>> a
{'name': 'king', 'job': 'NBA'}
>>> a.clear() # 清空字典中所有元素
>>> a
{}
4、popitem:随机删除和返回该键值对。字典是 ‘无序可变序列’,因此没有第一个元素和最后一个元素的概念;popitem弹出随机的项,因为字典并没有 ‘最后一个元素’ 或者 其他顺序的概念。若想一个接一个地移除并处理项,这个方法就非常有效(因为不用首先获取键的列表)
>>> a = {'name': 'king', 'money': 3000, 'sex': 'man', 'age': 35, 'job': 'NBA', 'address': '洛杉矶'} >>> a.popitem() ('address', '洛杉矶') >>> a {'name': 'king', 'money': 3000, 'sex': 'man', 'age': 35, 'job': 'NBA'} >>> a.popitem() ('job', 'NBA') >>> a {'name': 'king', 'money': 3000, 'sex': 'man', 'age': 35}