Esiste un modo più elegante per scrivere questo codice?Aggiunta all'elenco in dizionario Python
Quello che sto facendo: ho le chiavi e le date. Possono esserci un numero di date assegnato a un tasto e quindi sto creando un dizionario di liste di date per rappresentarlo. Il seguente codice funziona bene, ma speravo in un metodo più elegante e Pythonic.
dates_dict = dict()
for key, date in cur:
if key in dates_dict:
dates_dict[key].append(date)
else:
dates_dict[key] = [date]
Mi aspettavo che il seguito funzionasse, ma continuo a ricevere un NoneType non ha alcun errore di aggiunta di attributi.
dates_dict = dict()
for key, date in cur:
dates_dict[key] = dates_dict.get(key, []).append(date)
Questo probabilmente ha qualcosa a che fare con il fatto che
print([].append(1))
None
ma perché?
Si dovrebbe guardare in [ 'collections.defaultdict'] (https://docs.python.org/2/library/collections.html#collections.defaultdict) – CoryKramer
potresti provare ad usare extend() invece di append() – weefwefwqg3