Python字典-无序的键值对集合
Python字典-无序的键值对集合
- 字典允许管理和存储键值对集合
- 字典是可改变的。
- 字典不会保持增加键值对时的顺序,这个顺序毫无意义。
字典长啥样?
person = {'name':'xiaowoniu', 'age':10}
字典不维持插入顺序
列表会维持对象插入时的顺序,字典不会这么做。
字典的取值
字典用中括号取值
>>>person = {'name':'xiaowoniu', 'age':10}
>>>person['name']
'xiaowoniu'
字典查找速度很快
字典使用了高度优化的散列算法,解释器能够快速的访问一个键关联的值。
字典的赋值
>>> person = {'name':'xiaowoniu', 'age':10}
>>> person['age'] = 30
>>> person
{'name': 'xiaowoniu', 'age': 30}
字典迭代
for循环迭代字典的键值对时,当前数据的键会付给k
person = {'name':'xiaowoniu', 'age':10, 'home':'jilin'}
for k in person:
print('k is', k, 'values is', person[k] )
k is age values is 10
k is home values is jilin
用items迭代字典
items 是字典提供的内置方法,该方法返回一个键值对列表。
person = {'name': 'xiaowoniu', 'age': 10, 'home': 'jilin'}
for k, v in person.items():
print('k is', k, 'values is', v)
k is name values is xiaowoniu
k is age values is 10
k is home values is jilin
如何避免KeyError
首先看一组代码,访问不存在的key时,将报错KeyError
>>> p = {}
>>> p['name'] = '111'
>>> p['age']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'age'
避免KeyError可以先判断键是否存在,
- 用in检查成员关系。
p = {}
if 'name' in p:
print(True)
else:
print(False)
False
- 使用get Default方法
p = {}
print(p.get('name', 'zhf'))
zhf
当然,除了in和get Default,还可以使用not in和setDefault方法。
欢迎访问个人小站Introduction · 小蜗牛的site