Wir können eine Liste nach den Werten in einer anderen Liste sortieren, indem wir die zweite Liste in sortierter Reihenfolge auf die Indexnummer des Werts in der ersten Liste setzen.
In diesem Beispiel sortieren wir die Liste basierend auf den Werten in einer anderen Liste, d. h. die Indizes der zweiten Liste werden in der Reihenfolge angezeigt, in der sie in der sortierten Reihenfolge platziert sind -
# Two Lists list1 = ['BMW', 'Toyota', 'Audi', 'Tesla', 'Hyundai'] list2 = [2, 5, 1, 4, 3] print("List1 = \n",list1) print("List2 (indexes) = \n",list2) # Sorting the List1 based on List2 res = [val for (_, val) in sorted(zip(list2, list1), key=lambda x: x[0])] print("\nSorted List = ",res)
List1 = ['BMW', 'Toyota', 'Audi', 'Tesla', 'Hyundai'] List2 (indexes) = [2, 5, 1, 4, 3] Sorted List = ['Audi', 'BMW', 'Hyundai', 'Tesla', 'Toyota']
In diesem Beispiel sortieren wir eine Liste nach dem Wert einer anderen Liste. Wir fügen diese beiden Listen einem Wörterbuch hinzu und sortieren sie dann anhand der Schlüsselwerte und Lambdas im Wörterbuch.
# Two Lists list1 = ['BMW', 'Toyota', 'Audi', 'Tesla', 'Hyundai'] list2 = [2, 5, 1, 4, 3] print("List1 = \n",list1) print("List2 (indexes) = \n",list2) # Blank dictionary newDict = {} # Blank list outList = [] # Both the lists in our dictionary newDict newDict = {list1[i]: list2[i] for i in range(len(list2))} # Sorting using the sorting() based on key and values # Using lambda as well s = {k: v for k, v in sorted(newDict.items(), key=lambda item: item[1])} # Element addition in the list for i in s.keys(): outList.append(i) print("\nSorted List = \n",outList)
List1 = ['BMW', 'Toyota', 'Audi', 'Tesla', 'Hyundai'] List2 (indexes) = [2, 5, 1, 4, 3] Sorted List = ['Audi', 'BMW', 'Hyundai', 'Tesla', 'Toyota']
Das obige ist der detaillierte Inhalt vonWie sortiere ich eine Liste basierend auf dem Wert einer anderen Liste in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!