Saltar al contenido

Eliminar un elemento de un diccionario

Por fin después de tanto trabajar ya hallamos el resultado de este enigma que muchos lectores de nuestro espacio han tenido. Si quieres compartir algo no dejes de aportar tu información.

los del instrucción elimina un elemento:

del d[key]

Tenga en cuenta que esto muta el diccionario existente, por lo que el contenido del diccionario cambia para cualquier otra persona que tenga una referencia a la misma instancia. para devolver un nuevo diccionario, haga una copia del diccionario:

def removekey(d, key):
    r = dict(d)
    del r[key]
    return r

los dict() constructor hace un copia superficial. Para hacer una copia profunda, consulte la copy módulo.


Tenga en cuenta que hacer una copia para cada dict del/tarea/etc. significa que vas de tiempo constante a tiempo lineal, y también usas espacio lineal. Para pequeños dictados, esto no es un problema. Pero si planea hacer muchas copias de dictados grandes, probablemente desee una estructura de datos diferente, como un HAMT (como se describe en esta respuesta).

pop muta el diccionario.

 >>> lol = "hello": "gdbye"
 >>> lol.pop("hello")
     'gdbye'
 >>> lol
     

Si desea conservar el original, simplemente puede copiarlo.

Creo que su solución es la mejor manera de hacerlo. Pero si desea otra solución, puede crear un nuevo diccionario usando el keys del diccionario antiguo sin incluir su especificado keyMe gusta esto:

>>> a
0: 'zero', 1: 'one', 2: 'two', 3: 'three'
>>> i:a[i] for i in a if i!=0
1: 'one', 2: 'two', 3: 'three'

Tienes la posibilidad comunicar este escrito si lograste el éxito.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *