【发布时间】:2018-07-03 22:48:23
【问题描述】:
当元素在字典中不存在时如何减少代码数量?否则将其分配给对象。 python概念证明:
class MyClass:
pass
key = "test python"
item = MyClass()
d = {}
if d.get(key) is None:
d[key] = item
else:
item = d[key]
print(item)
if else 语句可以去掉吗?
【问题讨论】:
-
那么,当你做删除
else时,你的测试用例会发生什么?对于所有情况,您得到相同的结果吗?至少测试密钥是否已经在字典中。 -
您是否使用
d.get(key) is None来测试字典是否具有该键?如果是这样,那应该是key in d。d.get(key) is None不区分不存在的键和显式的None。
标签: python dictionary coding-style refactoring