Heim > Backend-Entwicklung > Python-Tutorial > Sechs magische integrierte Funktionen in Python

Sechs magische integrierte Funktionen in Python

王林
Freigeben: 2023-04-13 08:04:05
nach vorne
1925 Leute haben es durchsucht

Sechs magische integrierte Funktionen in Python

Das Leben ist kurz, Anfänger lernen Python!

Ich bin ein Neuling, heute werden wir 6 magische integrierte Funktionen auf einmal teilen. In vielen Computerbüchern werden sie meist auch als Funktionen höherer Ordnung eingeführt. Und in meiner täglichen Arbeit nutze ich sie oft, um Code schneller und verständlicher zu machen.

Sechs magische integrierte Funktionen in Python

Lambda-Funktion

Die Lambda-Funktion wird zum Erstellen anonymer Funktionen, also Funktionen ohne Namen, verwendet. Es ist nur ein Ausdruck und der Funktionskörper ist viel einfacher als def. Anonyme Funktionen werden verwendet, wenn wir eine Funktion erstellen müssen, die eine einzelne Operation ausführt und in einer Zeile geschrieben werden kann.

lambda [arg1 [,arg2,.....argn]]:expression

Nach dem Login kopieren

Der Körper eines Lambda ist ein Ausdruck, kein Codeblock. In Lambda-Ausdrücken kann nur eine begrenzte Logik gekapselt werden. Zum Beispiel:

lambda x: x+2

Nach dem Login kopieren

Wenn wir jederzeit auch die durch def definierte Funktion aufrufen möchten, können wir einem solchen Funktionsobjekt die Lambda-Funktion zuweisen.

add2 = lambda x: x+2
add2(10)

Nach dem Login kopieren

Ausgabeergebnis:

Sechs magische integrierte Funktionen in Python

Mit der Lambda-Funktion kann der Code erheblich vereinfacht werden. Hier ist ein weiteres Beispiel.

Sechs magische integrierte Funktionen in Python

Wie im Bild oben gezeigt, wird die Ergebnisliste newlist mit einer Codezeile mithilfe der Lambda-Funktion generiert.

Map-Funktion

map()-Funktion ordnet eine Funktion allen Elementen einer Eingabeliste zu.

map(function,iterable)

Nach dem Login kopieren

Zum Beispiel erstellen wir zunächst eine Funktion, um ein Eingabewort in Großbuchstaben zurückzugeben, und wenden diese Funktion dann auf alle Elemente in den Listenfarben an.

def makeupper(word):
return word.upper()
colors=['red','yellow','green','black']
colors_uppercase=list(map(makeupper,colors))
colors_uppercase

Nach dem Login kopieren

Ausgabeergebnis:

Sechs magische integrierte Funktionen in Python

Darüber hinaus können wir auch die anonyme Funktion Lambda verwenden, um mit der Kartenfunktion zusammenzuarbeiten, was rationalisiert werden kann.

colors=['red','yellow','green','black']
colors_uppercase=list(map(lambda x: x.upper(),colors))
colors_uppercase

Nach dem Login kopieren

Wenn wir die Map-Funktion nicht verwenden, müssen wir eine for-Schleife verwenden.

Sechs magische integrierte Funktionen in Python

Wie in der Abbildung oben gezeigt, ist die Map-Funktion bei tatsächlicher Verwendung 1,5-mal schneller als die for-Schleifenmethode zum sequentiellen Auflisten von Elementen.

Reduce-Funktion

Reduce() ist eine sehr nützliche Funktion, wenn Sie einige Berechnungen für eine Liste durchführen und das Ergebnis zurückgeben müssen. Wenn Sie beispielsweise das Produkt aller Elemente einer Liste von ganzen Zahlen berechnen müssen, können Sie die Funktion „Reduzieren“ verwenden. [1]

Der größte Unterschied zwischen ihr und einer Funktion besteht darin, dass die Mapping-Funktion (Funktion) in Reduce() zwei Parameter empfängt, während Map einen Parameter empfängt.

reduce(function, iterable[, initializer])

Nach dem Login kopieren

Als nächstes verwenden wir ein Beispiel, um den Codeausführungsprozess von Reduce() zu demonstrieren.

from functools import reduce
def add(x, y) : # 两数相加
return x + y
numbers = [1,2,3,4,5]
sum1 = reduce(add, numbers) # 计算列表和

Nach dem Login kopieren

Das Ergebnis sum1 = 15 wird erhalten und der Codeausführungsprozess wird in der folgenden Animation gezeigt.

Sechs magische integrierte Funktionen in Python

▲Animation des Codeausführungsprozesses

In Kombination mit der obigen Abbildung werden wir sehen, dass Reduce eine Additionsfunktion add() auf eine Liste [1,2,3,4,5] und die Zuordnung anwendet Funktion empfängt mit zwei Parametern, Reduce() akkumuliert das Ergebnis weiterhin mit dem nächsten Element der Liste.

Darüber hinaus können wir auch die anonyme Funktion Lambda verwenden, um mit der Reduzierungsfunktion zusammenzuarbeiten, was rationalisiert werden kann.

from functools import reduce
numbers = [1,2,3,4,5]
sum2 = reduce(lambda x, y: x+y, numbers)

Nach dem Login kopieren

Die Ausgabesumme2 = 15 wird erhalten, was mit dem vorherigen Ergebnis übereinstimmt.

Hinweis: Reduce() wurde seit Python3 in das Functools-Modul verschoben. Durchlaufbare Datenobjekte (wie Listen, Tupel oder Zeichenfolgen) werden in einer Indexsequenz zusammengefasst, die Daten und Datenindizes gleichzeitig auflistet, was im Allgemeinen in verwendet wird for-Schleifen. Die Syntax lautet wie folgt:

enumerate(iterable, start=0)

Nach dem Login kopieren

Die beiden Parameter sind eine Sequenz, ein Iterator oder ein anderes Objekt, das die Iteration unterstützt. Der andere ist die Startposition des Index. Standardmäßig beginnt er bei 0. Sie können auch den Startpunkt anpassen der Zähler Startnummer.

colors = ['red', 'yellow', 'green', 'black']
result = enumerate(colors)

Nach dem Login kopieren

Wenn wir eine Farbliste haben, die Farben speichert, erhalten wir nach der Ausführung ein Aufzählungsobjekt. Es kann direkt in einer for-Schleife verwendet oder in eine Liste konvertiert werden. Die spezifische Verwendung ist wie folgt.

for count, element in result:
print(f"迭代编号:{count},对应元素:{element}")

Nach dem Login kopieren

Zip 函数

zip()函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表[3]。

我们还是用两个列表作为例子演示:

colors = ['red', 'yellow', 'green', 'black']
fruits = ['apple', 'pineapple', 'grapes', 'cherry']
for item in zip(colors,fruits):
print(item)

Nach dem Login kopieren

输出结果:

Sechs magische integrierte Funktionen in Python

当我们使用zip()函数时,如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同。

prices =[100,50,120]
for item in zip(colors,fruits,prices):
print(item)

Nach dem Login kopieren

Sechs magische integrierte Funktionen in Python

Filter 函数

filter()函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表,其语法如下所示[4]。

filter(function, iterable)

Nach dem Login kopieren

比如举个例子,我们可以先创建一个函数来检查单词是否为大写,然后使用filter()函数过滤出列表中的所有奇数:

def is_odd(n):
return n % 2 == 1
old_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
new_list = filter(is_odd, old_list)
print(newlist)

Nach dem Login kopieren

输出结果:

Sechs magische integrierte Funktionen in Python

今天分享的这6个内置函数,在使用 Python 进行数据分析或者其他复杂的自动化任务时非常方便。

Das obige ist der detaillierte Inhalt vonSechs magische integrierte Funktionen in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:51cto.com
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