Chcę dodać element do istniejącego słownika w pythonie. Na przykład, to jest mój słownik:
default_data = {
'item1': 1,
'item2': 2,
}
Chcę dodać nowy element taki, że:
default_data = default_data + {'item3':3}
Jak to osiągnąć?
To może być tak proste jak:
default_data['item3'] = 3
Jak mówi Chris' odpowiedź, możesz użyć update, aby dodać więcej niż jeden element. Przykład:
default_data.update({'item4': 4, 'item5': 5})
Proszę zobaczyć doki o słownikach jako strukturach danych i słownikach jako typach wbudowanych.
Przyszło mi do głowy, że może faktycznie pytasz o to, jak zaimplementować operatora +
dla słowników, następujące wydaje się działać:
>>> class Dict(dict):
... def __add__(self, other):
... copy = self.copy()
... copy.update(other)
... return copy
... def __radd__(self, other):
... copy = other.copy()
... copy.update(self)
... return copy
...
>>> default_data = Dict({'item1': 1, 'item2': 2})
>>> default_data + {'item3': 3}
{'item2': 2, 'item3': 3, 'item1': 1}
>>> {'test1': 1} + Dict(test2=2)
{'test1': 1, 'test2': 2}
Zwróć uwagę, że jest to większy narzut niż użycie dict[key] = value
lub dict.update()
, więc zalecałbym nie używać tego rozwiązania, chyba że zamierzasz utworzyć nowy słownik tak czy inaczej.