我有一个关于成语和可读性的问题,对于这种特殊情况,似乎存在Python哲学上的冲突:
我想从字典B构建字典A。如果B中不存在特定键,则什么也不做,继续。
哪种方法更好?
try:
A["blah"] = B["blah"]
except KeyError:
pass
要么
if "blah" in B:
A["blah"] = B["blah"]
“请原谅”与“简单明了”。
哪个更好?为什么?
A.update(B)不会为你工作?
has_key已弃用赞成in和检查B.keys()改变的O(1)操作成为O(n)之一。
.has_key已被废弃,keys造成在py2k不需要的列表,并且是多余的py3k
A = dict((k, v) for (k, v) in B if we_want_to_include(k))。
if "blah" in B.keys()或if B.has_key("blah")。