C'est un peu n00bish, mais j'essaie d'apprendre/comprendre la programmation fonctionnelle en python. Le code suivant :
foos = [1.0,2.0,3.0,4.0,5.0]
bars = [1,2,3]
def maptest(foo, bar):
print foo, bar
map(maptest, foos, bars)
produit :
1.0 1
2.0 2
3.0 3
4.0 None
5.0 None
Q. Existe-t-il un moyen d'utiliser map ou tout autre outil fonctionnel en python pour produire ce qui suit sans boucles, etc.
1.0 [1,2,3]
2.0 [1,2,3]
3.0 [1,2,3]
4.0 [1,2,3]
5.0 [1,2,3]
Juste à titre d'information, comment la mise en œuvre changerait-elle s'il existe une dépendance entre foo et bar ?
foos = [1.0,2.0,3.0,4.0,5.0]
bars = [1,2,3,4,5]
et imprimer :
1.0 [2,3,4,5]
2.0 [1,3,4,5]
3.0 [1,2,4,5]
...
**P.S : Je sais comment le faire naïvement en utilisant des if, des boucles et/ou des générateurs, mais j'aimerais apprendre comment réaliser la même chose en utilisant des outils fonctionnels. Est-ce qu'il suffit d'ajouter une instruction if à maptest ou d'appliquer une autre carte de filtre aux barres en interne dans maptest ? **