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 "", line 1, in 
KeyError: 'age'

避免KeyError可以先判断键是否存在,

p = {}
if 'name' in p:
    print(True)
else:
    print(False)

False
p = {}
print(p.get('name', 'zhf'))

zhf

当然,除了in和get Default,还可以使用not in和setDefault方法。

欢迎访问个人小站Introduction · 小蜗牛的site

展开阅读全文

页面更新:2024-03-10

标签:字典   入时   赋值   括号   小站   算法   顺序   高度   方法   列表

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top