Maison > Problème commun > Quelles sont les fonctions d'ordre supérieur en Python ?

Quelles sont les fonctions d'ordre supérieur en Python ?

小老鼠
Libérer: 2023-11-10 16:42:14
original
1305 Les gens l'ont consulté

Les fonctions d'ordre supérieur incluent map(), filter(), réduire(), la fonction lambda, partial(), etc. Introduction détaillée : 1. map() : Cette fonction intégrée accepte une fonction et un ou plusieurs objets itérables en entrée, puis renvoie un itérateur qui applique la fonction d'entrée à chaque élément de l'objet itérable 2. filter() : Cette fonction intégrée prend une fonction et un objet itérable en entrée, et renvoie un itérateur qui produit ces éléments tels que la fonction d'entrée renvoie True, etc.

Quelles sont les fonctions d'ordre supérieur en Python ?

Les fonctions d'ordre supérieur en Python font généralement référence à une fonction qui accepte une ou plusieurs fonctions en entrée (paramètres) ou renvoie une fonction en sortie. Ce concept apparaît souvent dans la programmation fonctionnelle.

Voici quelques exemples de fonctions d'ordre supérieur en Python :

map() : cette fonction intégrée prend une fonction et un ou plusieurs objets itérables en entrée, et renvoie une fonction qui applique la fonction d'entrée à chacun des objets itérables. Objets itérables. Itérateur d’éléments.

def square(n):  
    return n * n  
numbers = [1, 2, 3, 4, 5]  
squared = map(square, numbers)  
print(list(squared))  # Output: [1, 4, 9, 16, 25]
Copier après la connexion

filter() : Cette fonction intégrée prend une fonction et un objet itérable en entrée, et renvoie un itérateur qui produit les éléments qui font que la fonction d'entrée renvoie True.

def is_even(n):  
    return n % 2 == 0  
numbers = [1, 2, 3, 4, 5]  
even_numbers = filter(is_even, numbers)  
print(list(even_numbers))  # Output: [2, 4]
Copier après la connexion

reduce() : Cette fonction intégrée accepte une fonction et un objet itérable en entrée, puis utilise la fonction pour combiner les éléments de l'objet itérable deux par deux jusqu'à ce qu'il ne reste qu'un seul élément.

from functools import reduce  
def add(x, y):  
    return x + y  
numbers = [1, 2, 3, 4, 5]  
sum_of_numbers = reduce(add, numbers)  
print(sum_of_numbers)  # Output: 15
Copier après la connexion

Fonction lambda : La fonction lambda est un moyen de créer des fonctions anonymes, ce qui est très approprié pour les définitions de fonctions courtes.

squared = list(map(lambda x: x ** 2, [1, 2, 3, 4, 5]))  
print(squared)  # Output: [1, 4, 9, 16, 25]
Copier après la connexion

partial() : Cette fonction du module functools est utilisée pour appliquer partiellement les paramètres de fonction.

from functools import partial  
def add(x, y):  
    return x + y  
add_five = partial(add, 5)  # Create a function that adds 5 to its argument.  
print(add_five(3))  # Output: 8
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal