Sortierung der Python-Liste

巴扎黑
Freigeben: 2016-12-07 10:22:07
Original
1359 Leute haben es durchsucht

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)

Verwandte Etiketten:
Quelle:php.cn
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