Python: Sortieren Sie eine Liste und ändern Sie eine andere

Ich habe zwei Listen: Einer enthält einen Satz von x Punkten, der andere enthält y Punkte. Python irgendwie schafft es, die x Punkte zu mischen, oder der Benutzer könnte. Ich müsste sie nach dem niedrigsten zum höchsten sortieren und die y-Punkte bewegen, um ihren x-Korrespondenten zu folgen. Sie sind in zwei separaten Listen .. Wie mache ich das?

4 Solutions collect form web for “Python: Sortieren Sie eine Liste und ändern Sie eine andere”

Sie können die Listen zipieren und das Ergebnis sortieren. Das Sortieren von Tupeln sollte standardmäßig auf dem ersten Mitglied sortieren.

>>> xs = [3,2,1] >>> ys = [1,2,3] >>> points = zip(xs,ys) >>> points [(3, 1), (2, 2), (1, 3)] >>> sorted(points) [(1, 3), (2, 2), (3, 1)] 

Und dann wieder auspacken:

 >>> sorted_points = sorted(points) >>> new_xs = [point[0] for point in sorted_points] >>> new_ys = [point[1] for point in sorted_points] >>> new_xs [1, 2, 3] >>> new_ys [3, 2, 1] 
 >>> xs = [5, 2, 1, 4, 6, 3] >>> ys = [1, 2, 3, 4, 5, 6] >>> xs, ys = zip(*sorted(zip(xs, ys))) >>> xs (1, 2, 3, 4, 5, 6) >>> ys (3, 2, 6, 4, 1, 5) 
 >>> import numpy >>> sorted_index = numpy.argsort(xs) >>> xs = [xs[i] for i in sorted_index] >>> ys = [ys[i] for i in sorted_index] 

Wenn du mit numpy.array arbeiten kannst

 >>> xs = numpy.array([3,2,1]) >>> xs = numpy.array([1,2,3]) >>> sorted_index = numpy.argsort(xs) >>> xs = xs[sorted_index] >>> ys = ys[sorted_index] 

Wenn das x und das y eine einzelne Einheit (wie z. B. ein Punkt) sein sollen, wäre es sinnvoller, sie als Tupel und nicht in zwei getrennten Listen zu speichern.

Egal, hier ist was du tun solltest:

 x = [4, 2, 5, 4, 5,…] y = [4, 5, 2, 3, 1,…] zipped_list = zip(x,y) sorted_list = sorted(zipped_list) 
  • Sortieren eines 2D-Numpy-Arrays um mehrere Achsen
  • Sortierung nach mehreren Werten, die Keine sein können
  • Python-Liste der Objekte nach Datum sortieren
  • Sortiere Eigenwerte und zugehörige Eigenvektoren nach der Verwendung von numpy.linalg.eig in Python
  • Wie man nach einem berechneten Wert in django sortiert
  • In Pandas Wie man eine Ebene eines Multi-Index auf der Grundlage der Werte einer Spalte sortiert, während die Gruppierung der anderen Ebene beibehalten wird
  • Sortierung der Schlüssel der gleichen Werte alphabetisch
  • Anwenden des datetime-Formats in pandas zum sortieren
  • Ist Timsort Allzweck- oder Python-spezifisch?
  • Rekursive Insertion Sortierung in Python
  • Wie stellst du Dateien numerisch ein?
  • Python ist die beste Programmiersprache der Welt.