Es simple. Lo primero que debes entender es el diseño del intérprete de Python. No asigna memoria para todas las variables básicamente si dos o más variables tienen el mismo valor que solo asigna a ese valor.
vamos al ejemplo de código,
In [6]: a = 10
In [7]: id(a)
Out[7]: 10914656
In [8]: b = 10
In [9]: id(b)
Out[9]: 10914656
In [10]: c = 11
In [11]: id(c)
Out[11]: 10914688
In [12]: d = 21
In [13]: id(d)
Out[13]: 10915008
In [14]: e = 11
In [15]: id(e)
Out[15]: 10914688
In [16]: e = 21
In [17]: id(e)
Out[17]: 10915008
In [18]: e is d
Out[18]: True
In [19]: e = 30
In [20]: id(e)
Out[20]: 10915296
Desde la salida anterior, las variables de Acciones A y B la misma memoria, cyd tiene memoria diferente cuando se crea una nueva variable electrónico y almacenar un valor (11) que ya está presente en la variable c, por lo que se asignó a esa ubicación de memoria y no crea una nueva memoria cuando cambio el valor presente en la variable e a 21 que ya está presente en la variable d, por lo que ahora las variables dy e comparte la misma ubicación de memoria. Por último, cambio el valor de la variable e a 30 que no está almacenado en ninguna otra variable, por lo que crea una nueva memoria para e.
por lo que cualquier variable que tenga el mismo valor comparte la memoria.
Not for list and dictionary objects
vamos a hacer su pregunta.
cuando varias teclas tienen el mismo valor, todas comparten la misma memoria, por lo que lo que usted espera ya está en python.
simplemente puede utilizar de esta manera
In [49]: dictionary = {
...: 'k1':1,
...: 'k2':1,
...: 'k3':2,
...: 'k4':2}
...:
...:
In [50]: id(dictionary['k1'])
Out[50]: 10914368
In [51]: id(dictionary['k2'])
Out[51]: 10914368
In [52]: id(dictionary['k3'])
Out[52]: 10914400
In [53]: id(dictionary['k4'])
Out[53]: 10914400
A partir del resultado anterior, la clave k1 y k2 mapeado en la misma dirección de lo que significa el valor que se almacena sólo una vez en la memoria, que es el diccionario de valor única llave múltiple esto es lo que quieres : P
¿Quiere decir que quiere acceder a la primera entrada con _either_ ''a'' o'' b''? Como 'dictionary ['a']' y 'dictionary ['b']' ambos devuelven '1'? –
Como dices, diccionario ['a'] = 1 y diccionario ['b'] = 1. – GiannisIordanou
@evil_inside, ah, si eso es lo que quieres, ¿por qué no asignas 1 a ambas teclas? – senderle