lit*_*itd 5 python lookup dictionary default-value
>>> d2
{'egg': 3, 'ham': {'grill': 4, 'fry': 6, 'bake': 5}, 'spam': 2}
>>> d2.get('spamx',99)
99
>>> d2.get('ham')['fry']
6
我想获得火腿里面的鱼苗值,如果没有,得到值,99或88作为第二个例子.但是怎么样?
Odd*_*ing 13
d2.get('ham', {}).get('fry', 88)
我可能会把它分解成现实生活中的几个陈述.
ham = d2.get('ham', {})
fry = ham.get('fry', 88)
如果你需要经常这样做,你可以编写一个辅助函数
def get_nested(d, list_of_keys, default):
    for k in list_of_keys:
        if k not in d: 
            return default
        d=d[k]
    return d
print get_nested(d2,['ham','spam'],99)
print get_nested(d2,['ham','grill'],99)
| 归档时间: | 
 | 
| 查看次数: | 3391 次 | 
| 最近记录: |