Python - Comparacion de dos diccionarios

 
Vista:

Comparacion de dos diccionarios

Publicado por Madridgenico (1 intervención) el 26/02/2021 13:49:35
Necesito un script que me busque la similitud entre dos valores de dos diccionarios y que me devuelva el contenido de la clave, contengas datos similares.

d1 = {"s1" : "abcd", "s2": "efgh", "s3" : "ijklmn"}
d2 = {"s4" : "opqrs", "s5" : "efg", "s6" : "abc", "s7" : "lmn", "s8" : "tuvxy"}


¿Cómo me puede dar Python las claves de d1 que contengan valores iguales en d2?

Lo he intentado con la función find pero solo me devuelve un dato

Sería como

la s6 aparece en la s1
la s5 aparece en la s2
s7 aparece en la s3
s4 no aparece
s8 no aparece


Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de algoritmo
Val: 819
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Comparacion de dos diccionarios

Publicado por algoritmo (245 intervenciones) el 26/02/2021 14:47:29
Hola

Ahí tienes otra manera :)

1
2
3
4
5
6
7
8
9
10
11
12
d1 = {"s1" : "abcd", "s2": "efgh", "s3" : "ijklmn"}
d2 = {"s4" : "opqrs", "s5" : "efg", "s6" : "abc", "s7" : "lmn", "s8" : "tuvxy"}
 
for item2 in d2.keys():
    encontrado = False
    for item1 in d1.keys():
        if d2[item2] in d1[item1]:
            print('%s aparece en %s' % (item2, item1))
            encontrado = True
 
    if not encontrado:
        print('%s no aparece' % item2)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Comparacion de dos diccionarios

Publicado por DBS (1 intervención) el 26/02/2021 17:56:55
Hola
Habría alguna forma de conseguir el mismo resultado sin utilizar false ni True?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Comparacion de dos diccionarios

Publicado por Madridgenico (1 intervención) el 26/02/2021 20:24:18
Muchas gracias por tu aportación ha sido de gran ayuda y he resuelto mi problema.

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar