我有一个myobject可能会返回的对象None.如果返回None,则不会返回属性id:
a = myobject.id
Run Code Online (Sandbox Code Playgroud)
所以当myobject是None,上面的结果导致AttributeError:
AttributeError: 'NoneType' object has no attribute 'id'
Run Code Online (Sandbox Code Playgroud)
如果myobject是None,那么我想a等于None.如何在一行语句中避免此异常,例如:
a = default(myobject.id, None)
Run Code Online (Sandbox Code Playgroud) 这个让我大吃一惊.鉴于以下字典:
d = {"a":{"b":{"c":"winning!"}}}
Run Code Online (Sandbox Code Playgroud)
我有这个字符串(来自外部来源,我不能改变这个比喻).
k = "a.b.c"
Run Code Online (Sandbox Code Playgroud)
我需要确定字典是否有密钥 'c',所以如果没有,我可以添加它.
这可以游戏地检索点符号值:
reduce(dict.get, key.split("."), d)
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何'减少'has_key检查或类似的东西.
我的最终问题是:给定"abcde",我需要创建字典中所需的所有元素,但如果它们已经存在则不要踩它们.如果有人知道做出这一切的真正方式,那么你将成为我的英雄.
python ×2
attributes ×1
default ×1
defaultdict ×1
dictionary ×1
nested ×1
reflection ×1
void ×1