Heim  >  Artikel  >  Backend-Entwicklung  >  Integrierte Funktionen, die alle Python-Meister kennen

Integrierte Funktionen, die alle Python-Meister kennen

巴扎黑
巴扎黑Original
2017-04-29 15:53:121191Durchsuche

Python verfügt über einige sehr clevere und leistungsstarke integrierte Funktionen, die von Anfängern im Allgemeinen nicht verwendet werden. Wow, diese Funktionen sind klassisch und können nach gründlichen Tests gespeichert werden Der Code ist nicht nur einfacher und leichter zu lesen, sondern Sie müssen ihn auch nicht hinter verschlossenen Türen erstellen. Dies macht es nicht nur einfacher, sondern reduziert auch Fehler.

1.sortiert()

1) Eine Liste sortieren

sorted([100, 98, 102, 1, 40])
>>>[1, 40, 98, 100, 102]

2) Durch Schlüsselparameter/-funktionen

Beispielsweise sind viele Wörterbuchelemente in einer langen Liste verschachtelt. Wir müssen nach der Länge jedes Elements sortieren

L = [{1:5,3:4},{1:3,6:3},{1:1,2:4,5:6},{1:9}]
new_line=sorted(L,key=lambda x:len(x))
print(new_line)
>>>[{1: 9}, {1: 5, 3: 4}, {1: 3, 6: 3}, {1: 1, 2: 4, 5: 6}]

3) Sortieren Sie die aus Tupeln bestehende Liste

Im Folgenden finden Sie beispielsweise eine Liste mit dem Alter der Schüler

students = [('wang', 'A', 15), ('li', 'B', 12), ('zhang', 'B', 10)]   
print(sorted(students, key=lambda student : student[2]))  
>>>[('zhang', 'B', 10), ('li', 'B', 12), ('wang', 'A', 15)]

4) Sortieren mit der cmp-Funktion

students = [('wang', 'A', 15), ('li', 'B', 12), ('zhang', 'B', 10)]   
print(sorted(students, cmp=lambda x,y : cmp(x[0], y[0])) )
>>>[('li', 'B', 12), ('wang', 'A', 15), ('zhang', 'B', 10)]

Tatsächlich müssen wir einen ganzen Artikel über den Sortieralgorithmus sprechen. Wenn Sie interessiert sind, können Sie einen Blick auf den Quellcode werfen ist entworfen. Ich klicke einfach zuerst hier

2.map()

Die Karte kann eine bestimmte Sequenz gemäß der bereitgestellten Funktion zuordnen. Sie akzeptiert eine Funktion f und eine Liste, wendet die Funktion f auf jedes Element der Liste an und gibt dann eine neue Liste zurück kann mehrere sein. Beachten Sie, dass diese Funktion einen Rückgabewert haben muss (der Wert ist dreimal wichtig).

Andernfalls wird eine neue Liste zurückgegeben, ähnlich wie [None, None, None, None, None, None, None, None, None]

Das geeignete Szenario besteht darin, dass einige Elemente in der Liste wiederholte Vorgänge erfordern, was mit map.

problemlos möglich ist 3.enumerate()

In Python wird bei der Iteration immer das Element selbst herausgenommen, nicht der Index des Elements. Beispielsweise gibt es einige Website-Namen in einer langen Liste beim Drucken aufgelistet. Wenn es keine solche Funktion gibt, müssen wir beim Drucken in der Schleife eine Variable hinzufügen und die Zählvariable erhöhen. Mit enumerate müssen wir uns jetzt nicht so viel Mühe geben, wir können es direkt tun >

4.zip()

Die Zip-Funktion akzeptiert eine beliebige Anzahl von Sequenzen (einschließlich 0 und 1) als Parameter und gibt eine Tupelliste

zurück Diese Funktion ist besonders beim Erstellen von Wörterbuchsequenzen sehr praktisch (dieser Trick ist sehr clever, Sie können ihn sorgfältig herausfinden)
x = [1, 2, 3]
y = [4, 5, 6]
z = [7, 8, 9]
xyz = zip(x, y, z)
>>print xyz

5.filter()

Die Filterfunktion akzeptiert eine Funktion f und eine Liste. Die Funktion dieser Funktion f besteht darin, jedes Element zu beurteilen und „True“ oder „False“ zurückzugeben. Dadurch können einige Elemente herausgefiltert werden, die die Bedingungen nicht erfüllen, und dann eine Liste zurückgeben, die die Bedingungen erfüllt .

Insbesondere bei der Verarbeitung von Dateien müssen Sie einige Leerzeichen, Wagenrückläufe und Nullzeichen entfernen
def is_even(x):
	return x%2==0
print(filter(is_even,[1,2,3,4,5]))
>>>[2, 4]

6.reduce()

Die Verwendung der Reduce-Funktion ist der von Map sehr ähnlich. Es handelt sich ebenfalls um eine Funktion f und eine Liste, aber die Eingabeparameter der Funktion müssen auch wiederholt aufgerufen werden und schließlich den Endwert zurückgeben, während Map gibt eine Liste zurück

Beachten Sie, dass Reduce in Python3 aus der globalen Funktion entfernt wurde. Wenn Sie es verwenden müssen, müssen Sie Reduce aus Functools importieren

Das obige ist der detaillierte Inhalt vonIntegrierte Funktionen, die alle Python-Meister kennen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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