Beispiel 1:
>>>L = [2,3,1,4]
>>>L.sort()
>>>L
>>>[1,2,3,4]
Beispiel 2:
>>>L = [2,3,1,4]
>> ;>L.sort(reverse=True)
>>>L
>>>[4,3,2,1]
Beispiel 3: Für das zweite Schlüsselwort Sortieren
>>>L = [('b',6),('a',1),('c',3),('d',4)]
> ; >>L.sort(lambda x,y:cmp(x[1],y[1]))
>>>L
>>>[('a ' , 1), ('c', 3), ('d', 4), ('b', 6)]
Beispiel 4: Sortieren Sie das zweite Schlüsselwort
>>> ;L = [ ('b',6),('a',1),('c',3),('d',4)]
>>>L.sort(key =lambda x: x[1])
>>>L
>>>[('a', 1), ('c', 3), ('d', 4), ( 'b', 6)]
Beispiel 5: Sortieren Sie das zweite Schlüsselwort
>>>L = [('b',2),('a',1 ),('c', 3),('d',4)]
>>>Importoperator
>>>L.sort(key=operator.itemgetter(1) )
>> ;>L
>>>[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
Beispiel 6: (DSU-Methode: Decorate-Sort-Undercorate)
>>>L = [('b',2),('a',1),('c ',3),(' d',4)]
>>>A = [(x[1],i,x) for i,x in enumerate(L)] #i kann die stabile Sortierung bestätigen
> >>A.sort()
>>>L = [s[2] für s in A]
>>>L
>>>[ ('a', 1), ('b', 2), ('c', 3), ('d', 4)]
Das Obige gibt 6 Paare der Listensortiermethode an, Beispiel 3.4.5.6 kann zum Sortieren eines bestimmten Elements im Listenelement
Effizienzvergleich:
cmp < Methode 6 ist langsamer als Methode 4, Methode 4 und Methode 5 sind grundsätzlich gleichwertig
Multi-Keyword-Vergleichssortierung:
Beispiel 7:
>>> ;L = [('d',2) ,('a',4),('b',3),('c',2)]
>>> >>>> L
>>>[('d', 2), ('c', 2), ('b', 3), ('a', 4)]
Wir sehen, dass das sortierte L zu diesem Zeitpunkt nur nach dem zweiten Schlüsselwort geordnet ist.
Wenn wir den zweiten Schlüssel verwenden möchten, wie sortieren wir nach dem ersten Schlüsselwort? Es gibt zwei Methoden
Beispiel 8:
>>> ]
>>> L.sort(key=lambda x:(x[1],x[0]))
>>> [('c', 2), ('d', 2), ('b', 3), ('a', 4 )]
Beispiel 9:
>>> [('d',2),('a',4),('b',3),('c',2 )]
>>> itemgetter(1,0))
>>> L
>>>[('c', 2), ('d', 2), ('b', 3) , ('a', 4)]
Für eine einfache Listensortierung rufen Sie einfach die integrierte Funktion auf, aber das Sortieren der Diktatliste ist nicht so einfach. Es gibt immer noch sehr einfache Methoden, wie zum Beispiel:
>>> : 22},{'a' : 12, 'b' : 32},{'a' : 6, 'b' : 42}]
>>> obj.get('a'))
>>> ls1
[{'a': -1, 'b': 22}, {'a': 1, 'b': 12 }, {'a': 6, 'b': 42}, {'a': 12, 'b': 32 }]
>>>
Sortierung von Diktat und Liste in Python
1. Listensortierung
Listensortierung ist eine integrierte Funktion von Python und enthält die Sortiermethode
Zum Beispiel:
>>> ,3,0]
>>> s.sort()
[0, 1, 2, 3]
2 , Diktatsortierung
Sortierung von Wörterbüchern, da jedes Element a enthält Schlüssel-Wert-Paar, also vergleichbare Schlüssel oder Werte zum Sortieren auswählen
sorted(iterable[, cmp[, key[, reverse ]]]
cmp und key verwenden im Allgemeinen Lambda
Zum Beispiel:
>>> d={"ok":1,"no":2}
Sortieren Sie das Wörterbuch nach Schlüssel und geben Sie es im Formular zurück einer Tupelliste
>>> sorted(d.items, key=lambda d:d[0])
[('no', 2), ('ok', 1)]
Paarwörterbuch Nach Wert sortieren, als Liste von Tupeln zurückgeben
>>> sorted(d.items, key=lambda d:d[1])
[('ok', 1) , (' no', 2)]
3. Sortierung der Tupelliste
Wie
>>> ,(1, 'd')]
>>> li.sort()
[(1, 'd'), (2, 'a'), (4, 'b') ]
Wenn das Wörterbuch nach dem ersten Element des Elements sortiert ist, kann es in eine Liste von Tupeln umgewandelt werden
>>>
>> ;> tt=[tuple(item) for item in d.items()]
>>> , ('ok', 1)]
4 Implementierungen anderer Leute, Notizen aufbewahren
Das Folgende ist ein Beispiel für eine Struktur
>>> > def __init__(self ,a,b):
self.a = a
self.b = b
>>> test1 = test(5,25)
>> ;> test2 = test(10,15)
>>> tests = [test1,test2]
>>> sorted(tests,cmp = lambda x,y: cmp(x.a , y.a)) 🎜>
>>> result = sorted(tests,key = lambda d:d.a)
5、
# (IMHO) der einfachste Ansatz:
def sortedDictValues1(adict ):
items = adict.items()
items.sort()
return [value for key, value in items]
# eine alternative Implementierung, die
# läuft bei großen
# Wörterbüchern auf meinem Rechner etwas schneller:
def sortedDictValues2(adict):
keys = adict.keys()
keys.sort()
return [dict[key] for key in key]
# eine weitere leichte Beschleunigung meiner Box
# ist die Zuordnung einer gebundenen Methode:
def sortedDictValues3 (adict):
keys = adict.keys()
keys.sort()
return map(adict.get,keys)