2017-11-01 5 views
0

Ich habe zwei lists von lists generiert von two association rules algorithms.Wie vergleichen Sie die Anzahl der Übereinstimmungen in der Liste der Listen in Python und gibt keine Übereinstimmungen zurück

Ich möchte vergleichen, welche Regeln matching sind und welche unique in beiden 1 und 2 Algorithmusausgaben sind und unübertroffene Listen von Regeln zurückgeben.

Hier wird Jede Regel in Form gegeben:

[['37', '49'], ['39', '40']] - Was bedeutet: ['37', '49'] impliziert ['39', '40']

Die Längen der Listen von [1][1] zu [1][3] oder [3][1] sein kann. oben ist ein [2][2] Beispiel.

Beispiel [1][3] - [['37'], ['40', '39', '49']]

Probe Ausgänge beide Liste der Listen: Main list of lists

sample list of lists

Die erwarteten output ist unmatched rows in list of list1 und list of list2 Irgendwelche Ideen,

Danke

+0

Wenn die erste Zeile der ersten Eingabe und die erste Zeile der zweiten Eingabe nicht übereinstimmen, zählen sie als nicht übereinstimmend !? ist es so? –

+0

Ja, jede Zeile in der ersten Eingabe muss in allen Zeilen der zweiten Eingabe überprüft werden und gibt die nicht übereinstimmenden Zeilen zurück – Gopi

+0

Was ist falsch an der Verwendung von Schnittmenge und Komplement? – Julien

Antwort

1

Sagen a ist list1 und b ist list2, iterieren durch a und überprüfen, ob es nicht in b vorhanden ist.

>>> a 
[[[1, 2, 3], [4, 5, 6]], [[3, 4, 5], [3, 2]]] 
>>> b 
[[[6, 4, 6], [2, 5, 7]], [[1, 2, 3], [4, 5, 6]]] 
>>> [each for each in a if each not in b] 
[[[3, 4, 5], [3, 2]]] 
+0

Danke, es hat geklappt .. – Gopi

Verwandte Themen