Gibt es eine elegantere Möglichkeit, diesen Code zu schreiben?Anhängen an Liste in Python-Wörterbuch
Was ich mache: Ich habe Schlüssel und Daten. Es kann eine Reihe von Daten geben, die einem Schlüssel zugewiesen sind, und deshalb erstelle ich ein Wörterbuch mit Listen von Daten, um dies darzustellen. Der folgende Code funktioniert gut, aber ich habe auf eine elegantere und pythonischer Methode gehofft.
dates_dict = dict()
for key, date in cur:
if key in dates_dict:
dates_dict[key].append(date)
else:
dates_dict[key] = [date]
Ich habe erwartet, dass die unten funktioniert, aber ich bekomme immer eine NoneType hat kein Attribut append Fehler.
dates_dict = dict()
for key, date in cur:
dates_dict[key] = dates_dict.get(key, []).append(date)
Das hat wahrscheinlich etwas mit der Tatsache zu tun, dass
print([].append(1))
None
aber warum?
Sie sollten in aussehen [ 'collections.defaultdict'] (https://docs.python.org/2/library/collections.html#collections.defaultdict) – CoryKramer
Sie können versuchen, extend() anstelle von append() – weefwefwqg3