Mam pytanie dotyczące idiomów i czytelności i wydaje się, że w tym konkretnym przypadku dochodzi do zderzenia filozofii Pythona:
Chcę zbudować słownik A ze słownika B. Jeśli określony klucz nie istnieje w B, nie rób nic i kontynuuj.
Który sposób jest lepszy?
try:
A["blah"] = B["blah"]
except KeyError:
pass
lub
if "blah" in B:
A["blah"] = B["blah"]
„Czyń i proś o przebaczenie” kontra „prostota i jednoznaczność”.
Który jest lepszy i dlaczego?
if "blah" in B.keys()
, lubif B.has_key("blah")
.