Python: Mehrere Listen überschneiden
Beim Arbeiten mit mehreren Listen kann das Finden ihrer gemeinsamen Elemente eine wertvolle Operation sein. Während Python eine praktische Funktion zum Überschneiden zweier Listen bereitstellt (set(a).intersection(b)), wird die Aufgabe etwas komplexer, wenn es um mehr als zwei Listen geht.
Betrachten wir ein Szenario, in dem wir eine haben Liste von Listen d, die mehrere Listen enthält (in Ihrem Beispiel d = [[1,2,3,4], [2,3,4], [3,4,5,6,7]]). Um den Schnittpunkt aller Listen in d zu finden, können wir die Mengenoperationen und integrierten Funktionen von Python nutzen.
Ein Ansatz besteht darin, die Methode set.intersection() wiederholt zu verwenden. Diese Methode funktioniert jedoch nur auf zwei Sätzen gleichzeitig, sodass wir sie iterativ anwenden müssen. So können wir es machen:
<code class="python">intersection = set(d[0]) for lst in d[1:]: intersection = intersection.intersection(set(lst)) print(intersection) # Outputs: {3, 4}</code>
Eine weitere prägnante und effiziente Lösung nutzt den *-Operator von Python und die Funktion „map()“:
<code class="python">intersection = set.intersection(*map(set, d)) print(intersection) # Outputs: {3, 4}</code>
In dieser Lösung verwenden wir die Karte( )-Funktion zum Konvertieren jeder Liste in d in eine Menge. Der *-Operator entpackt dann diese Folge von Mengen in die Argumente von set.intersection(), sodass wir den Schnittpunkt aller Mengen gleichzeitig finden können.
Beide Ansätze ermitteln effektiv den Schnittpunkt mehrerer darin gespeicherter Listen eine Liste von Listen. Durch die Nutzung der Mengenoperationen von Python können wir die gemeinsamen Elemente einer beliebigen Anzahl von Listen leicht identifizieren.
Das obige ist der detaillierte Inhalt vonWie finde ich den Schnittpunkt mehrerer Listen in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!