Heim  >  Artikel  >  Backend-Entwicklung  >  Wie finde ich den Schnittpunkt mehrerer Listen in Python?

Wie finde ich den Schnittpunkt mehrerer Listen in Python?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-21 22:04:03224Durchsuche

How to Find the Intersection of Multiple Lists in Python?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn