Ho la seguente Python 2.7 dizionario struttura dati (non controllo dati di origine - proviene da un altro sistema come è):Rimozione duplicati da dizionario
{112762853378: {'dst': ['10.121.4.136'], 'src': ['1.2.3.4'], 'alias': ['www.example.com'] }, 112762853385: {'dst': ['10.121.4.136'], 'src': ['1.2.3.4'], 'alias': ['www.example.com'] }, 112760496444: {'dst': ['10.121.4.136'], 'src': ['1.2.3.4'] }, 112760496502: {'dst': ['10.122.195.34'], 'src': ['4.3.2.1'] }, 112765083670: ... }
Le chiavi del dizionario sarà sempre unico. Dst, src e alias possono essere duplicati. Tutti i record avranno sempre un dst e un src ma non tutti i record avranno necessariamente un alias visto nel terzo record.
Nei dati di esempio, uno dei primi due record sarebbe stato rimosso (non mi importa quale). Il terzo record sarebbe considerato univoco in quanto, sebbene dst e src siano gli stessi, manca l'alias.
Il mio obiettivo è rimuovere tutti i record in cui dst, src e alias sono stati tutti duplicati, indipendentemente dalla chiave.
In che modo questo rookie esegue questo?
Inoltre, la mia comprensione limitata di Python interpreta la struttura dati come un dizionario con i valori memorizzati nei dizionari ... un dotto di dicts, è corretto?
Questo è un buon punto di partenza, ma mi sento in dovere di sottolineare che sarà lento per grandi raccolte di dati, perché con ogni ciclo, crea un nuovo elenco di valori e fa una ricerca lineare su di esso. – senderle
Questo ha funzionato con semplicità e bellezza. –
@ senderle: Apprezzo il tuo pensiero e commento riguardo la velocità e prenderò in considerazione se necessario. Ti interessa ampliare questa risposta per aumentare le prestazioni? –