Heim  >  Artikel  >  Backend-Entwicklung  >  Wie sortiere ich eine Liste basierend auf dem Wert einer anderen Liste in Python?

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

王林
王林nach vorne
2023-09-12 11:09:081408Durchsuche

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)

Ausgabe

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

Sorted List =  ['Audi', 'BMW', 'Hyundai', 'Tesla', 'Toyota']

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)

Ausgabe

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen