Question

Je connais l’algorithme map / réduire et son utilisation. Il utilise des fonctions appelées mappeurs et réducteurs, mais je trouve aussi que les gens utilisent le mot filtres.

Les filtres sont-ils les mêmes que les mappeurs ou existe-t-il une différence significative?

Était-ce utile?

La solution

Un filtre est comme une carte pour laquelle la fonction passée est toujours une "fonction caractéristique", c'est-à-dire une fonction qui retourne soit "oui". ou " no " à la question "cela appartient-il ici?"

En d'autres termes, pensez à un ensemble défini comme {x | x & # 8712; X et P (x) }. Filter prend l'ensemble de base, vérifie si P (x) est vrai et renvoie uniquement les membres pour lesquels c'est vrai.

So { x | x est un nombre naturel et impair ( x )} est {1,3,5,7 ...}.

Une carte applique une fonction arbitraire. Vous pouvez donc considérer cela comme un ensemble tel que {y | x & # 8712; X et y = f (x) }.

Donc, < y | x est un nombre naturel et y = x & # 178; } est {1,4,9,16, ...}.

Autres conseils

Le filtre prend une "liste". et une fonction, applique la fonction à chaque membre de la liste et renvoie une nouvelle liste contenant uniquement des membres pour lesquels l'application de la fonction a renvoyé la valeur true. Par exemple:

l = [1,2,3,4]
l = filter(lambda x: x < 3, l)
print l # [1,2]

La carte fait la même chose, mais renvoie une liste contenant les résultats de l'application de fonction:

l = [1,2,3,4]
l = map(lambda x: x < 3, l)
print l # [True,True,False,False]

Un filtre détermine si un élément doit être conservé ou supprimé. Un mappeur traduit simplement la valeur en un autre. En conséquence: Le jeu en sortie d'une opération de carte a toujours la même taille que le jeu en entrée. La sortie d'une opération de filtrage est plus petite que le jeu d'entrées.

En règle générale, les fonctions de mappage prennent un ensemble d’entrée et une fonction et renvoient un ensemble contenant la sortie de la fonction pour chaque élément d’entrée. Un filtre prend un ensemble d’entrée et une fonction booléenne et renvoie un ensemble contenant les valeurs d’entrée pour lesquelles la fonction renvoie true.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top