Ho scritto il seguente codice in due modi diversi. Sto cercando di trovare il modo corretto di farlo in modo pititico. Spiegherò le ragioni di entrambi.Modo corretto per modificare il valore del dizionario python
Primo modo, EAFP. Questo usa il principio del pitone EAFP, ma causa una certa duplicazione del codice.
try:
my_dict['foo']['bar'] = some_var
except KeyError:
my_dict['foo'] = {}
my_dict['foo']['bar'] = some_var
Secondo modo, LBYL. LBYL non è esattamente considerato pitone, ma rimuove la duplicazione del codice.
if 'foo' not in my_dict:
my_dict['foo'] = {}
my_dict['foo']['bar'] = some_var
Quale modo sarebbe considerato migliore? O c'è un modo migliore?
Vorrei utilizzare il secondo modo. Il codice ripetuto non è bello. Quindi se 'bar' diventa' pippo', devi cambiarlo una volta. – cdonts