Por ejemplo, yo llamo a esta función pasando un diccionario como parámetro:teclas invertido y los valores del diccionario original de
>>> inv_map({'a':1, 'b':2, 'c':3, 'd':2})
{1: ['a'], 2: ['b', 'd'], 3: ['c']}
>>> inv_map({'a':3, 'b':3, 'c':3})
{3: ['a', 'c', 'b']}
>>> inv_map({'a':2, 'b':1, 'c':2, 'd':1})
{1: ['b', 'd'], 2: ['a', 'c']}
Si
map = { 'a': 1, 'b':2 }
sólo puede invertir este mapa para llegar:
inv_map = { 1: 'a', 2: 'b' }
mediante el uso de esta
dict((v,k) for k, v in map.iteritems())
¿Alguien sabe cómo hacer eso para mi caso?
Tenga en cuenta que la última línea de conversión de la 'collections.defaultdict' de nuevo en una normal de' dict'- a menudo no es necesario o incluso indeseable. –
@MikeGraham ¿Podría explicar por qué, por favor? A menudo hago más errores cuando no agrego esa línea (porque si busca una clave que no existe, la agregará). – tomasyany