pythonic实践之获取dict中的元素值

作者: 采菊东篱下 | 来源:发表于2018-03-02 22:23 被阅读1次

假定有一个dict如下:

d = {
    'x': 1,
    'y': 2
}

正常情况下如果要获取某个key的值直接通过d[key]就可以获取。

但是大部分情况下,在真实的环境中,这个key有可能不存在。
如果使用下标的方法,那么需要捕捉KeyError错误或者先用if判断key是否存在。这样代码写起来非常的ugly。

这种情况下使用d.get(key)方法是最好的办法,尤其是如果不存在的时候我们需要一个默认值的时候。

# ugly code1
try:
    v = d['z']
except KeyError as e:
    v = 'vvv'

# ugly code2
if 'z' in d.keys():
    v = d['z']
else:
    v = 'vvv'

# pythonic code
v = d.get('z', 'vvv')

相关文章

网友评论

  • 阿群1986:from collections import defaultdict

    strings = ('puppy', 'kitten', 'puppy', 'puppy',
    'weasel', 'puppy', 'kitten', 'puppy')
    counts = defaultdict(lambda: 0)

    for s in strings:
    counts[s] += 1

本文标题:pythonic实践之获取dict中的元素值

本文链接:https://www.haomeiwen.com/subject/tvjuxftx.html