Ir a contenido


Foto

Intersección de diccionarios en Python


3 Respuestas de expertos

#1 OFFLINE   Nicolas

Nicolas
  • Cuenta Std
  • 366 Mensaje(s)
    • 1 Tutoriales

Publicado 31 julio 2014 - 20:08

Tengo el siguiente diccionario en python:


aDict[1] = '3,4,5,6,7,8'
aDict[5] = '5,6,7,8,9,10,11,12'
aDict[n] = '5,6,77,88'

Y me gustaría saber como puedo extraer la intersección de los estos? Gracias de antemano.

#2 OFFLINE   Alberto Hernandez

Alberto Hernandez
  • Cuenta Std
  • 339 Mensaje(s)
    • 3 Tutoriales

Publicado 31 julio 2014 - 20:39

No se si convirtiendolos a listas y luego usando set, podría funcionarte.
  • 0

#3 OFFLINE   Joel7

Joel7
  • Cuenta Std
  • 477 Mensaje(s)
    • 1 Tutoriales

Publicado 31 julio 2014 - 20:40

Una vez me toco realizar algo de ese estilo, te dejo un ejemplo con el método reduce:

from functools import reduce
reduce(lambda x, y: x.intersection(y), (set(x.split(',')) for x in aDict.values()))

  • 1

#4 OFFLINE   Nicolas

Nicolas
  • Cuenta Std
  • 366 Mensaje(s)
    • 1 Tutoriales

Publicado 31 julio 2014 - 21:14

Gracias Joel!
  • 0