1.sort()-Funktion
Beispiel 1. Sortieren Sie die Werte in aufsteigender/absteigender Reihenfolge (die Sortierbedingung ist die Größe eines Einzelwerts, der einfachste Fall).
list1=[3,-4,2,4]
list1.sort() # 默认升序排列. list1.sort(reverse=True)为降序排列
print(list1) # 输出[-4, 2, 3, 4]
Beispiel 2. Sortieren Sie nach dem Absolutwert von groß nach klein. Wenn der Absolutwert gleich ist, steht die positive Zahl vorne.
Beispielsweise ist die Liste [3,-4,2,4] das sortierte Ergebnis [4,-4,3,2].
(Die Sortierbedingung besteht darin, zuerst den absoluten Wert und dann den numerischen Wert zu berücksichtigen.)
list1=[3,-4,2,4]
list1.sort(key=lambda x:(abs(x),x),reverse=True)
# x代指list1中的每一个元素 先按照abs(x)排序,再按照x排序
print(list1) # 输出[4,-4,3,2]
Hinweis: Die Funktion list.sort() basiert auf der Originalliste, und der Wert der Listenliste wurde zu diesem Zeitpunkt geändert
2. sortierte () Funktion
Beispiel 1. Zwei Fälle in der Funktion sort(): Sortieren nach Wert und Sortieren nach absolutem Wert
list1=[3,-4,2,4]
print(sorted(list1)) # 输出[-4, 2, 3, 4]
print(sorted(list1,key=lambda x:(abs(x),x),reverse=True)) # 输出[4, -4, 3, 2]
print(list1) # 输出[3, -4, 2, 4]
Hinweis: sorted(list1) gibt eine neue Liste zurück, ohne den Wert der ursprünglichen Liste list1 zu ändern
Wenn Sie direkt an der Originalliste Änderungen vornehmen müssen, müssen Sie zusätzliche Werte zuweisen: list1=sorted(list1)
Beispiel 2. Die zweidimensionale Liste wird in aufsteigender Reihenfolge nach dem zweiten Element sortiert (sortiert nach Tiergewicht, wobei 1t=1000kg)
Ursprüngliche Liste: s=[['polar bear', '0.75t'] , ['pinguin', '35kg'] , ['seal', '1.35t']]
Die sortierte Liste, die zurückgegeben werden muss: [['Penguin', '35kg'], ['Polar Bear', '0.75t'], ['Seal', '1.35t']]
s=[['北极熊', '0.75t'] , ['企鹅', '35kg'] , ['海豹', '1.35t']]
# 法一:使用sorted(list,key=...)
s1=sorted(s,key=lambda x:float(x[1][:-1]) * 1000 if x[1][-1] == 't' else float(x[1][:-2]))
print(s1)
# 法二:使用list.sort(key=...)
s.sort(key=lambda x:float(x[1][:-1]) * 1000 if x[1][-1] == 't' else float(x[1][:-2]))
print(s)
erklären:
x[1] bezieht sich auf das Element (zweites Element) mit Index=1 in jeder eindimensionalen Liste in der zweidimensionalen Liste.
Wenn x[1][-1]=='t', dann ist das Gewicht x[1 ][:- 1] benötigt *1000, umgerechnet in kg;
andernfalls nehmen Sie direkt die Zahl x[1][:-2] vor kg