Heim > Backend-Entwicklung > Python-Tutorial > Erweiterte praktische Python-Funktionen (unter Aktualisierung)

Erweiterte praktische Python-Funktionen (unter Aktualisierung)

不言
Freigeben: 2018-04-13 17:11:25
Original
1355 Leute haben es durchsucht

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

1.pyhton-Behauptung


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'

2.list Komplexe Sortierung

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’}]
Nach dem Login kopieren

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]
Nach dem Login kopieren

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]
Nach dem Login kopieren

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]
Nach dem Login kopieren

Beispiel 2: Rückwärtssortierung

>>>L = [2,3,1,4]  
>>>L.sort(reverse=True)  
>>>L  
>>>[4,3,2,1]
Nach dem Login kopieren

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)]
Nach dem Login kopieren

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)]
Nach dem Login kopieren

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)]
Nach dem Login kopieren

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)]
Nach dem Login kopieren

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 = [(&#39;d&#39;,2),(&#39;a&#39;,4),(&#39;b&#39;,3),(&#39;c&#39;,2)]  
>>> L.sort(key=lambda x:x[1])  
>>> L  
>>>[(&#39;d&#39;, 2), (&#39;c&#39;, 2), (&#39;b&#39;, 3), (&#39;a&#39;, 4)]
Nach dem Login kopieren

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 = [(&#39;d&#39;,2),(&#39;a&#39;,4),(&#39;b&#39;,3),(&#39;c&#39;,2)]  
>>> L.sort(key=lambda x:(x[1],x[0]))  
>>> L  
>>>[(&#39;c&#39;, 2), (&#39;d&#39;, 2), (&#39;b&#39;, 3), (&#39;a&#39;, 4)]
Nach dem Login kopieren

Über die Tiefe der Anatomie von Python-Funktionen
>>> L = [(&#39;d&#39;,2),(&#39;a&#39;,4),(&#39;b&#39;,3),(&#39;c&#39;,2)]  
>>> L.sort(key=operator.itemgetter(1,0))  
>>> L  
>>>[(&#39;c&#39;, 2), (&#39;d&#39;, 2), (&#39;b&#39;, 3), (&#39;a&#39;, 4)]  

#实例8能够工作呢?原因在于tuple是的比较从左到右比较的,比较完第一个,如果相等,比较第二个
Nach dem Login kopieren

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!

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