Wie sortiere ich eine Liste basierend auf dem Wert einer anderen Liste in Python?

王林
Freigeben: 2023-09-12 11:09:08
nach vorne
1462 Leute haben es durchsucht

Wie sortiere ich eine Liste basierend auf dem Wert einer anderen Liste in Python?

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.

Sortieren Sie eine Liste nach Werten in einer anderen Liste

Beispiel

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)
Nach dem Login kopieren

Ausgabe

List1 = 
 ['BMW', 'Toyota', 'Audi', 'Tesla', 'Hyundai']
List2 (indexes) = 
 [2, 5, 1, 4, 3]

Sorted List =  ['Audi', 'BMW', 'Hyundai', 'Tesla', 'Toyota']
Nach dem Login kopieren

Verwenden Sie ein Wörterbuch, um eine Liste nach Werten in einer anderen Liste zu sortieren

Beispiel

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)
Nach dem Login kopieren

Ausgabe

List1 = 
 ['BMW', 'Toyota', 'Audi', 'Tesla', 'Hyundai']
List2 (indexes) = 
 [2, 5, 1, 4, 3]

Sorted List = 
['Audi', 'BMW', 'Hyundai', 'Tesla', 'Toyota']
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:tutorialspoint.com
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage