Który z tych trzech elementów jest lepszym stylem kodowania lub bardziej czytelny? foo
powinien być prowadzony na elementach z obu słowników, ale mydict2
może być None
Styl kodu - w przypadku, gdy
Wariant 1:
for a,b in mydict1.items():
foo(a,b)
if mydict2:
for a,b in mydict2.items():
foo(a,b)
Opcja 2:
for a,b in mydict1.items():
foo(a,b)
for a,b in mydict2.items() if mydict2 else dict().items():
foo(a,b)
Wariant 3:
for a,b in chain(mydict1.items(), mydict2.items() if mydict2 else dict().items()):
foo(a,b)
Wiesz, iteracja nad 'mydict2.items()' po prostu nie zrobi nic, jeśli jest pusty? Trójskładnikowe wyrażenie jest całkowicie zbędne. – jonrsharpe
@jonsharpe Ale OP mówi, że może to być "Brak". Próba powtórzenia "Brak" powoduje błąd. – Sam
@ Sama to powinno być testowanie według tożsamości - 'jeśli mydict2 nie jest żadnym" – jonrsharpe