Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich gleichzeitig eine Liste sortieren und eine andere umwandeln, um die Korrespondenz aufrechtzuerhalten?

Wie kann ich gleichzeitig eine Liste sortieren und eine andere umwandeln, um die Korrespondenz aufrechtzuerhalten?

Linda Hamilton
Freigeben: 2024-12-05 20:51:12
Original
223 Leute haben es durchsucht

How Can I Simultaneously Sort One List and Permute Another to Maintain Correspondence?

Gleichzeitiges Sortieren und Permutieren paralleler Listen

Problem:

Gegeben sind zwei Listen mit Elementen, bekannt als list1 und list2, Das Ziel besteht darin, die Elemente in Liste1 zu sortieren und gleichzeitig die Elemente in Liste2 neu anzuordnen, damit sie der Sortierreihenfolge von Liste1 entsprechen. Mit anderen Worten, wir möchten die Übereinstimmung zwischen den Elementen in beiden Listen aufrechterhalten.

Lösung:

Eine weit verbreitete Technik für dieses Problem ist das „Dekorieren, Sortieren“. , undecorate“ Idiom:

list1, list2 = zip(*sorted(zip(list1, list2)))
Nach dem Login kopieren

Dieser Code demonstriert Folgendes Schritte:

  1. zip(list1, list2) erstellt Paare entsprechender Elemente aus beiden Listen und „dekoriert“ effektiv jedes Element mit seinem Begleiter aus der anderen Liste.
  2. sorted(zip( list1, list2)) sortiert die Paare basierend auf dem ersten Element (aus list1).
  3. zip(*...) „entdekoriert“ die sortierten Paare, Erzeugen der sortierten Liste1 und der passenden, permutierten Liste2.

Zusätzliche Überlegungen:

  • Die bereitgestellte Lösung interpretiert gleiche Elemente in Liste1 durch Vergleich ihrer entsprechenden Elemente in Liste2. Wenn dieser Vergleich unerwünscht oder rechenintensiv ist, sollten Sie die Verwendung der alternativen Tastenfunktion in Betracht ziehen:
result1, result2 = zip(*sorted(zip(list1, list2), key=lambda x: x[0]))
Nach dem Login kopieren
  • Der Umgang mit leeren Eingabelisten ist unerlässlich. Wenn Ihre Eingabelisten möglicherweise leer sind, stellen Sie sicher, dass Sie über eine entsprechende Fehlerbehandlung oder Sonderfälle verfügen, um Fehler zu vermeiden.

Das obige ist der detaillierte Inhalt vonWie kann ich gleichzeitig eine Liste sortieren und eine andere umwandeln, um die Korrespondenz aufrechtzuerhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage