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