Ich habe zwei Listen, beide ziemlich lang. Liste A enthält eine Liste von ganzen Zahlen, von denen einige in Liste B wiederholt I, die Elemente erscheinen in beide unter Verwendung finden können:Übereinstimmende Elemente zwischen Listen in Python - Position beibehalten
idx = set(list_A).intersection(list_B)
Dies gibt eine Menge aller Elemente erscheinen in beiden Liste A und Liste B.
Allerdings würde ich gerne einen Weg finden, die Übereinstimmungen zwischen den beiden Listen zu finden und auch Informationen über die Positionen der Elemente in beiden Listen zu behalten. Eine solche könnte eine Funktion wie folgt aussehen:
def match_lists(list_A,list_B):
.
.
.
return match_A,match_B
wo match_A die Positionen der Elemente in list_A enthalten würde, die eine Übereinstimmung irgendwo in list_B und umgekehrt für match_B hatte. Ich kann sehen, wie man solche Listen mit einer For-Schleife erstellt, aber das fühlt sich an, als wäre es für lange Listen unerschwinglich langsam.
Für Duplikate: list_B enthält keine Duplikate, wenn es ein Duplikat in list_A gibt, geben Sie alle übereinstimmenden Positionen als Liste zurück, so dass match_A eine Liste von Listen wäre.
Wie wollen Sie Duplikate in 'list_A' oder' list_B' behandeln? –