字典_元素的访问_键的访问_值的访问_键值对的访问

 字典元素的访问

为了测试各种访问方法,我们这里设定一个字典对象:

  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}
原文地址:https://www.cnblogs.com/ljwpython/p/14598065.html