Mi intento de crear un diccionario de listas mediante programación no me permite abordar las claves del diccionario individualmente. Siempre que creo el diccionario de listas e intento agregar una clave, todas se actualizan. Aquí hay un caso de prueba muy simple:
data = {}
data = data.fromkeys(range(2),[])
data[1].append('hello')
print data
Resultado actual: {0: ['hello'], 1: ['hello']}
Resultado Esperado: {0: [], 1: ['hello']}
Esto es lo que funciona
data = {0:[],1:[]}
data[1].append('hello')
print data
Resultado real y esperado: {0: [], 1: ['hello']}
¿Por qué el fromkeys
método no funciona como se esperaba?
Pasar []
como segundo argumento a dict.fromkeys()
da un resultado bastante inútil: todos los valores en el diccionario serán el mismo objeto de lista.
En Python 2.7 o superior, puede usar una comprensión dicitonaria en su lugar:
data = {k: [] for k in range(2)}
En versiones anteriores de Python, puede usar
data = dict((k, []) for k in range(2))
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras