Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann man sich überschneidende Elemente in mehreren Python-Listen effizient finden?

Wie kann man sich überschneidende Elemente in mehreren Python-Listen effizient finden?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-21 22:03:31997Durchsuche

How to Find Intersecting Elements in Multiple Python Lists Efficiently?

Identifizieren gemeinsam genutzter Elemente in mehreren Python-Listen

In Python kann das Extrahieren der Schnittmenge zweier Listen mithilfe der Funktion set.intersection() erreicht werden. Die Bestimmung der Schnittmenge mehrerer Listen wird jedoch komplexer. Hier ist eine Lösung zum effizienten Identifizieren der gemeinsamen Elemente zwischen mehreren Listen:

Die in der Antwort bereitgestellte Formel set.intersection(*map(set,d)) bietet eine prägnante und leistungsstarke Möglichkeit, den Schnittpunkt zwischen zu finden mehrere Listen. Lassen Sie uns seine Komponenten aufschlüsseln:

  • d stellt die Liste der Listen dar, wobei jedes Element selbst eine Liste ist.
  • map(set, d) konvertiert jede innere Liste innerhalb von d in a set, wodurch doppelte Elemente effektiv entfernt werden.
  • * entpackt das von Map generierte Tupel, um jeden Satz als separaten Parameter an set.intersection() zu übergeben.

Durch die Verkettung dieser Vorgänge miteinander, wir erhalten den Durchschnitt aller in der d-Liste enthaltenen Mengen (zunächst die Listen). Im gegebenen Beispiel:

<code class="python">d = [[1,2,3,4], [2,3,4], [3,4,5,6,7]]</code>

Der Code set.intersection(*map(set,d)) würde das gewünschte Ergebnis liefern:

<code class="python">[3, 4]</code>

Dieser Ansatz nutzt die Effizienz des Legen Sie die Datenstruktur fest, um Duplikate schnell zu entfernen und gleichzeitig die Reihenfolge der gemeinsam genutzten Elemente beizubehalten.

Das obige ist der detaillierte Inhalt vonWie kann man sich überschneidende Elemente in mehreren Python-Listen effizient finden?. 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