Maison >développement back-end >Tutoriel Python >Introduction à 5 fonctions d'ordre supérieur intégrées couramment utilisées en Python (avec code)
Cet article vous présente une introduction à 5 fonctions d'ordre élevé intégrées couramment utilisées en Python (avec code). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. aide.
Python intègre des fonctions d'ordre supérieur couramment utilisées :
1 Programmation fonctionnelle
La fonction elle-même peut être affectée à une variable, et la variable devient une fonction après l'affectation ;
permet de passer la fonction elle-même dans une autre fonction en tant que paramètre
permet de renvoyer une fonction.
1. La fonction map()
est une fonction d'ordre supérieur intégrée en Python. Elle reçoit une fonction f et une liste,
<.> et passe La fonction f agit tour à tour sur chaque élément de la liste, obtient une nouvelle liste et renvoiedef add(x): return x+x print(map(add,[1, 2, 3])) # Out:<map object at 0x00000239E833DE48> print(list(map(add,[1, 2, 3]))) # Out:[2, 4, 6]2,
fonction reduce()
from functools import reduce def prod(x, y): return x*y print(reduce(prod, [2, 4, 5, 7, 12])) # Out:3360 # 2*4*5*7*12 # reduce()还可以接收第3个可选参数,作为计算的初始值。如果把初始值设为100 print(reduce(prod, [2, 4, 5, 7, 12], 100)) # Out:336000 # 2*4*5*7*12*1003,
fonction filter()
import math def is_sqr(x): return math.sqrt(x) == int(math.sqrt(x)) print(list(filter(is_sqr, range(1, 101)))) # Out:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]4. La fonction
print(sorted([5, 2, 3, 1, 4])) # Out:[1, 2, 3, 4, 5] print(sorted({1:'D', 2:'B', 3:'B', 4:'E', 5: 'A'})) # Out:[1, 2, 3, 4, 5]
example_list = [5, 0, 6, 1, 2, 7, 3, 4] result_list = sorted(example_list, key=lambda x: x*-1) print(result_list)Pour trier dans l'ordre inverse, Vous pouvez également passer le troisième paramètre reverse=True :
example_list = [5, 0, 6, 1, 2, 7, 3, 4] print(sorted(example_list, reverse=True)) # Out:[7, 6, 5, 4, 3, 2, 1, 0]5. Les fonctions Python peuvent non seulement renvoyer des types de données tels que int, str, list, dict, etc., mais également renvoyer des fonctions ! Veuillez noter la différence entre la fonction de retour et la valeur de retour :
def my_abs(): return abs # 返回函数,返回函数可以把一些计算延迟 def my_abs2(x): return abs(x) # 返回函数调用的结果,返回值是一个数值
def calc_prod(lst): def lazy_prod(): prod = 1 for i in lst: prod = prod*i return prod return lazy_prod f = calc_prod([1, 2, 3, 4]) print(f()) # Out:245.1 Pourquoi définir la fonction lazy_prod() et la fonction de retour cal_prod() ? Support Python La syntaxe de base de la fonction return
def f(): print('call f()...') # 定义函数g: def g(): print('call g()...') # 返回函数g: return gne renvoie que la fonction :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!