otro - Python agregar nuevo elemento al diccionario
lista dentro de un diccionario python (4)
Esta pregunta ya tiene una respuesta aquí:
- ¿Añadir nuevas claves a un diccionario? 20 respuestas
Quiero agregar un elemento a un diccionario existente en Python. Por ejemplo, este es mi diccionario:
default_data = {
''item1'': 1,
''item2'': 2,
}
Quiero agregar un nuevo elemento tal que:
default_data = default_data + {''item3'':3}
¿Cómo lograr esto?
Puede ser tan simple como:
default_data[''item3''] = 3
Como dice la respuesta de Chris , puede usar la update para agregar más de un elemento. Un ejemplo:
default_data.update({''item4'': 4, ''item5'': 5})
Consulte la documentación sobre los docs.python.org/tutorial/datastructures.html#dictionaries y los diccionarios como tipos integrados .
Se me ocurrió que tal vez tengas que preguntarte cómo implementar el operador +
para los diccionarios, lo siguiente parece funcionar:
>>> 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}
Tenga en cuenta que esto dict.update()
más sobrecarga que el uso de dict[key] = value
o dict.update()
, por lo que recomendaría no usar esta solución a menos que tenga la intención de crear un nuevo diccionario de todos modos.
default_data[''item3''] = 3
Fácil como py.
Otra posible solución:
default_data.update({''item3'': 3})
lo que está bien si desea insertar varios elementos a la vez.
default_data[''item3''] = 3
La respuesta debe ser tan larga.