Mise à jour
Mise à jour de la base de données, veuillez patienter...
Site original : Sam & Max: Python, Django, Git et du cul
Je connais product()
depuis bel lurette, et je n’avais jamais réalisé son utilité. Des fois on a le truc sous les yeux, comme ça, et on voit rien.
Vous savez, on veut parfois parcourir tous les trucs, et leur appliquer tous les machins. Ca donne une boucle imbriquée :
res = [] for truc in trucs: for machin in machins: res.append(bidule(machin, truc)) |
Un code parfaitement légitime, clair, lisible. Mais l’envie de faire une liste en intension est si forte !
C’est là que product()
intervient, avec ses petits bras musclés :
from itertools import product res = [ bidule(machin, truc) for truc, machin in product(truc, machin)] |
Python va magiquement créer autant de tuples (machin, truc)
qu’il y en a besoin.
Et parce que ça fait un mois que j’ai pas mis d’article, faut prendre tout de suite les bonnes habitudes :