map(function, iterable, ...)
Appliquer la fonction à chaque élément d'itérable et renvoyer une liste des résultats. Si des arguments itérables supplémentaires sont passés, la fonction doit prendre autant d'arguments et est appliquée aux éléments de tous les itérables en parallèle.
Si un itérable est plus court qu'un autre, il est supposé être étendu avec aucun élément.
Si la fonction est None
, la fonction d'identité est supposée; s'il y a plusieurs arguments, map()
retourne une liste composée de tuples contenant les éléments correspondants de tous les itérables (une sorte d'opération de transposition).
Les arguments itérables peuvent être une séquence ou tout objet itérable; le résultat est toujours une liste.
Quel rôle cela joue-t-il dans la fabrication d'un produit cartésien?
content = map(tuple, array)
Quel effet la mise d'un tuple n'importe où a-t-elle? J'ai également remarqué que sans la fonction de carte, la sortie est abc
et avec elle, c'est a, b, c
.
Je veux bien comprendre cette fonction. Les définitions de référence sont également difficiles à comprendre. Trop de peluches fantaisie.
map(None, a, b, c)
se révèle zip(a, b, c)
. Mais on le voit très rarement dans la pratique, précisément parce que l' zip
appel est équivalent.
tuple
est une fonction (enfin, c'est plus nuancé que ça, mais elle se comporte comme une fonction) qui prend un itérable, et vous donne un tuple avec les mêmes éléments - tuple([1, 2, 3])
est donc équivalent à (1, 2, 3)
. Car map(tuple, array)
, array
serait un itérable d'itérables (pensez à une liste de listes), et cela vous rend chaque liste intérieure transformée en tuple.
map
?