Paarkombinationen von Elementen im Wörterbuch ohne Wiederholung

In Python habe ich ein Wörterbuch wie dieses ...

pleio = {'firstLine': {'enf1': ['54', 'set'], 
                      'enf2': ['48', 'free'], 
                      'enf3': ['34', 'set'], 
                      'enf4': ['12', 'free']}

        'secondLine':{'enf5': ['56','bgb']
                      'enf6': ['67','kiol']
                      'enf7': ['11','dewd']
                      'enf8': ['464','cona']}}

Ich möchte gepaarte Kombinationen ohne Wiederholung der Elemente im inneren Wörterbuch erstellen, um ein Ergebnis wie dieses zu erhalten ...

{'enf3': ['34', 'set'], 'enf2': ['48', 'free']}
{'enf3': ['34', 'set'], 'enf1': ['54', 'set']}
{'enf3': ['34', 'set'], 'enf4': ['12', 'free']}
{'enf2': ['48', 'free'], 'enf1': ['54', 'set']}
{'enf2': ['48', 'free'], 'enf4': ['12', 'free']}
{'enf1': ['54', 'set'], 'enf4': ['12', 'free']}

Ich habe eine Funktion erstellt, mit der ich es machen kann ...

import itertools

def pairwise():
    '''
    '''
    leti=[]
    for snp, enfs in pleio.items():        
        for x in itertools.combinations(enfs, 2 ):
            leti.append(x)    
    pleopairs=[]
    for i in leti:
        pipi={}
        for c in i:
            pipi[c]= enfs[c]
        pleopairs.append(pipi)

..aber ich habe mich gefragt, ob es einen effizienteren Weg gibt, wie eine andere spezifische Funktion von itertools oder eine andere Quelle. Ich habe übrigens eine Funktion namens "pairwise" in der gefundenitertools Dokumentation. Aber ich weiß nicht, wie ich es anpassen oder meinen Versuch verbessern soll, wenn es in meinem Fall möglich wäre. Irgendeine Hilfe?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage