Heim > Artikel > Backend-Entwicklung > Erweiterte praktische Python-Funktionen (unter Aktualisierung)
Bei dem in diesem Artikel geteilten Inhalt handelt es sich um erweiterte praktische Python-Funktionen. Freunde in Not können sich auf den Inhalt dieses Artikels beziehen
So fügen Sie Ausnahmeparameter zur Assert-Anweisung hinzu
Die Ausnahmeparameter von Assert fügen tatsächlich Zeichenfolgeninformationen nach dem Assertionsausdruck hinzu, um die Assertion zu erklären und sie besser zu machen ging schief. Das Format ist wie folgt:
assert expression [, arguments]
assert expression [, arguments]
assert len(lists) >=5,'Die Anzahl der Elemente in der Liste ist geringer als 5'
Behaupten 2==1,'2 ist ungleich 1'
data_list = [] data_list.append({'softname':'1','version':'1.2.2.2'}) data_list.append({'softname':'7','version':'1.2.2.2'}) data_list.append({'softname':'5','version':'1.2.2.2'}) data_list.append({'softname':'2','version':'1.2.2.2'}) data_list.append({'softname':'3','version':'1.2.2.2'}) data_list.append({'softname':'9','version':'1.2.2.2'}) #升序 data_list.sort(key=lambda obj:obj.get('softname'), reverse=False) print data_list #[{'softname': '1'}, {'softname': '2'}, {'softname': '3'}, {'softname': '5'}, {'softname': '7'}, {'softname': '9'}] #降序 data_list.sort(key=lambda obj:obj.get('softname'), reverse=True) print data_list #[{'softname': '9'}, {'softname': '7'}, {'softname': '5'}, {'softname': '3'}, {'softname': '2'}, {'softname': '1’}]
Zu Sortieren Sie die Liste. Python bietet zwei Methoden
Methode 1. Verwenden Sie die integrierte List-Funktion list.sort, um
list.sort(func=None, key=None, reverse=False)
Python-Beispiel zu sortieren:
>>> list = [2,5,8,9,3] >>> list [2,5,8,9,3] >>> list.sort() >>> list [2, 3, 5, 8, 9]
Methode 2. Verwenden Sie die Sequenztypfunktion sorted(list), um zu sortieren (ab 2.4)
Python-Beispiel:
>>> list = [2,5,8,9,3] >>> list [2,5,8,9,3] >>> sorted(list) [2, 3, 5, 8, 9]
Der Unterschied zwischen den beiden Methoden:
sorted(list) gibt ein Objekt zurück, das als Ausdruck verwendet werden kann. Die ursprüngliche Liste bleibt unverändert und es wird ein neues sortiertes Listenobjekt generiert.
list.sort() gibt keine Objekte zurück und ändert die ursprüngliche Liste.
Weitere Sortierbeispiele:
Beispiel 1: Vorwärtssortierung
>>>L = [2,3,1,4] >>>L.sort() >>>L >>>[1,2,3,4]
Beispiel 2: Rückwärtssortierung
>>>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)] >>>import operator >>>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 can confirm the stable sort >>>A.sort() >>>L = [s[2] for s in A] >>>L >>>[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
Das Obige gibt 6 Methoden zum Sortieren von Listen an, von denen Beispiel 3.4.5.6 eine Rolle beim Sortieren eines bestimmten Elements im Listenelement spielen kann
Sortieren der Vergleichsschlüsselwörter
Effizienzvergleich:
cmp < DSU < Methode 5 ist grundsätzlich gleichwertig
Mehrere Schlüsselwortvergleichssortierung:
Beispiel 7:
Wir sehen, dass das sortierte L zu diesem Zeitpunkt nur nach der Sekunde sortiert ist Schlüsselwort.>>>L = [('d',2),('a',4),('b',3),('c',2)] >>> L.sort(key=lambda x:x[1]) >>> L >>>[('d', 2), ('c', 2), ('b', 3), ('a', 4)]
Was wäre, wenn wir das zweite Schlüsselwort zum Sortieren und dann das erste Schlüsselwort zum Sortieren verwenden möchten? Ja Zwei Methoden
Beispiel 9:
Verwandte Empfehlungen:>>> L = [('d',2),('a',4),('b',3),('c',2)] >>> L.sort(key=lambda x:(x[1],x[0])) >>> L >>>[('c', 2), ('d', 2), ('b', 3), ('a', 4)]Über die Tiefe der Anatomie von Python-Funktionen
>>> L = [('d',2),('a',4),('b',3),('c',2)] >>> L.sort(key=operator.itemgetter(1,0)) >>> L >>>[('c', 2), ('d', 2), ('b', 3), ('a', 4)] #实例8能够工作呢?原因在于tuple是的比较从左到右比较的,比较完第一个,如果相等,比较第二个
Detaillierte Erklärung der Python-Funktionszuordnung und des Filters , reduzieren
Das obige ist der detaillierte Inhalt vonErweiterte praktische Python-Funktionen (unter Aktualisierung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!