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.