У меня вопрос об идиомах и удобочитаемости, и, похоже, в этом конкретном случае происходит столкновение философий Python:
Я хочу построить словарь A из словаря B. Если определенный ключ не существует в B, ничего не делайте и продолжайте.
Какой способ лучше?
try:
A["blah"] = B["blah"]
except KeyError:
pass
или
if "blah" in B:
A["blah"] = B["blah"]
«Сделай и попроси прощения» vs. «простота и ясность».
Что лучше и почему?
if "blah" in B.keys()
, илиif B.has_key("blah")
.