美文网首页Python应用集
❖ Python字典获取值的正确方式

❖ Python字典获取值的正确方式

作者: Solomon_Xie | 来源:发表于2019-01-13 03:05 被阅读0次

    假设有一个Python dict:

    >>> d = {'a':1, 'b':2, 'c':{'name':'jason', 'age':18} }
    

    获取值的一般做法是:

    >>> d['a']
    1
    
    >>> d['c']['name']
    jason
    

    但是这种问题非常大:当我们数据是来自网络或不确定位置时,我们不确定它是不是有某些key。
    这种时候就会报错且验证影响程序运行。

    正确做法是:

    >>> d.get('a')
    1
    
    >>> d.get('asdfa')
    None
    

    这样的话,如果遇到不存在的值,会返回None,而不是报错。

    问题又来了:How to safely get value from nested dict?

    如果是这样d.get('XXXXXXXX').get('name')前面的key获取不到内容怎么办?这个时候第一个get返回None,后面还是会报错。

    没问题,Python dict的get还可以设置default默认值!

    >>> >>> d.get('XXXX', {}).get('name')
    None
    

    所以,如果我们要严格控制的话,最好每个都这么处理。这种地方不要图省事。

    相关文章

      网友评论

        本文标题:❖ Python字典获取值的正确方式

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