Heim > Artikel > Backend-Entwicklung > Eine kurze Einführung in Lambda-Ausdrücke in Python (mit Beispielen)
Dieser Artikel bietet Ihnen eine kurze Einführung in Lambda-Ausdrücke in Python (mit Beispielen). Ich hoffe, dass er Ihnen als Referenz dienen wird.
Eins: Definition einer anonymen Funktion
Lambda-Parameterliste: Ausdruck
Zwei: Ternärer Ausdruck
Das Ergebnis wird zurückgegeben, wenn die Bedingung wahr ist, wenn die bedingte Beurteilung sonst erfolgt Das zurückgegebene Ergebnis, wenn die Bedingung falsch ist
Drei: map
map(func(arg1, arg2...), list1_arg1, list2_arg2), führen Sie das vorherige auf der Listeneingabe später aus. Funktion (mathematische Zuordnung)
4: reduzieren
reduce(func(arg1, arg2...), list1_arg, init_value), kontinuierliche Berechnung, kontinuierlicher Aufruf des Lambda-Ausdrucks
Fünf: Filter
filter(func(arg1, arg2...), list1_arg1) Wenn die Bedingungen erfüllt sind, werden die Daten herausgefiltert!
6: Funktionale Programmierung und imperative Programmierung
def if --else for map reduce filter lambda
Die Idee der funktionalen Programmierung. . . .
Die Idee der imperativen Programmierung. . . .
Funktionale Programmierung kümmert sich um die Zuordnung von Daten, und imperative Programmierung kümmert sich um die Schritte zur Lösung von Problemen
Funktionale Programmierung:
(1) bezieht sich auf Funktionen und other Die Datentypen sind gleich und gleichwertig. Sie können anderen Variablen zugewiesen, auch als Parameter verwendet, an eine andere Funktion übergeben oder als Rückgabewert anderer Funktionen verwendet werden.
(2) Verwenden Sie nur „Ausdruck“ anstelle von „Anweisung“
from functools import reduce # ----------------------------------------------------------------# # 匿名函数的定义 # ----------------------------------------------------------------# def add(x, y): """ add x and y :param x: x can be str or num :param y: y can be str or num :return: x+y """ return x + y # lambda parameter_list: expression user_sum = lambda arg1, arg2: arg1 + arg2 my_sum = user_sum(2, 2) print(my_sum) # ----------------------------------------------------------------# # 三元表达式 # ----------------------------------------------------------------# a, b = 1, 2 r = a if a > b else b print(r) # ----------------------------------------------------------------# # map(func, list),对后面输入的list分别执行前面的函数(数学的映射) # ----------------------------------------------------------------# myListMap1 = [1, 2, 3, 4] myNewListMap1 = map(lambda x: x ** 2, myListMap1) # 返回为map类型的数据结构 print(type(myNewListMap1)) print('myNewListMap1:', list(myNewListMap1)) # 转换为list # 两个或者多个参数的map函数的使用 # 当两个参数种元素的个数不相同的时候会截断 myListMap2 = [1, 2, 3, 4] myNewListMap2 = map(lambda x, y: x + y, myListMap1, myListMap2) print('myNewListMap2:', list(myNewListMap2)) # ----------------------------------------------------------------# # reduce(func, list)连续计算,连续调用lambda表达式 # ----------------------------------------------------------------# myListReduce = [1, 2, 3, 4] # 把list中的值一个一个放进lambda中 r = reduce(lambda x, y: x + y, myListReduce) print(r) # 对第一个函数参数进行初始化 r = reduce(lambda x, y: x + y, myListReduce, 10) print(r) # filter myListFilter = [3, 5, 6, 7, 8, 9, 10] myNewListFilter = filter(lambda x: x % 2 == 1, myListFilter) print('myNewListFilter:', list(myNewListFilter)) list_x = [1, 1, 0, 0] filter_list = filter(lambda x: True if x == 1 else False, list_x) print(list(filter_list))
Das obige ist der detaillierte Inhalt vonEine kurze Einführung in Lambda-Ausdrücke in Python (mit Beispielen). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!