es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para lograr esta salida, necesitas usar la función combinations del módulo itertools. Aquí tienes un ejemplo de código para lograr la tarea:

    import itertools
    
    d = {
        'd': {'c': 3},
        'c': {'d': 3, 'b': 2},
        'b': {'c': 2, 'a': 1},
        'a': {'b': 1}
    }
    
    pairs = []
    
    for key in d.keys():
        for subkey in d[key].keys():
            pairs.append((key, subkey))
            pairs.append((subkey, key))
    
    unique_pairs = list(set(pairs))
    combinations_pairs = list(itertools.combinations(unique_pairs, 2))
    
    for pair in combinations_pairs:
        print(pair[0])
        print(pair[1])
    

    El código primero extrae todos los pares clave-valor del diccionario en tuplas únicas en la lista ‘pairs’. Dado que el diccionario tiene dos niveles de profundidad, necesitamos agregar cada par clave-valor dos veces, una vez para cada nivel. Luego, creamos un conjunto a partir de la lista ‘pairs’ para asegurarnos de que solo tengamos pares únicos, que se almacenan en la lista ‘unique_pairs’.

    Finalmente, usamos la función ‘combinations’ del módulo itertools para obtener todas las combinaciones únicas de la lista ‘unique_pairs’ y mostramos la salida como se desea.

Comments are closed.