2010-10-14 13 views

Respuesta

7

Esto parece ser un problema de sintaxis:

>>> abc = {} 
>>> abc[1] = 2 
>>> abc 
{1: 2} 
>>> abc = {1:2, 3:4} 
>>> abc 
{1: 2, 3: 4} 
>>> 

Al menos la sintaxis del siguiente es incorrecto

abc[int: anotherint] 

supongo que quiere decir

abc = [int: anotherint] 

Cuál es incorrecto también. La forma correcta es

abc = {int: anotherint} 

menos abc ya está definido en cuyo caso:

abc[int] = anotherint 

es también una opción válida.

3

Hay dos cosas incorrectas: primero tienes un error de lógica: realmente no creo que quieras el trozo del diccionario entre int (el tipo, que es inigualable [ver a continuación]) y el número anotherInt. No por supuesto que esto sea posible en Python, pero eso es lo que dices que quieres hacer.

En segundo lugar, suponiendo que significaba x [{int: anotherInt}]:

Lo que significa que el error es que no se puede usar eso como una clave en un diccionario, como una pitón regla no le gusta utilizando tipos mutables como claves en los diccionarios - que complica las cosas si posteriormente añade cosas al diccionario o una lista ... considera el siguiente ejemplo muy confuso:

x={} 
x[x]=1 

lo que se puede esperar esto para hacer, si se trató de Subíndice esa matriz, ¿cuál esperarías devolver 1?

x[{}] 
x[{x:x}] 
x[{{}:x}] 
x[x] 

básicamente cuando hash tipos mutables que puede o bien decir, {} != {} con respecto a los hashes ya que se almacenan en diferentes lugares de la memoria o terminar con la situación recursiva raro por encima de

0

Dado que el título dice añadiendo y ninguna de las respuestas proporcionó una solución para agregar cosas al diccionario. Pruébalo:

abc = {} 
abc[1]= 2 
abc['a'] = [3,9,27] 
==> a = {1:2, 'a':[3,9,27]}