J'ai une liste de listes de tuplesComment aplatir une liste de listes une étape
A= [ [(1,2,3),(4,5,6)], [(7,8,9),(8,7,6),(5,4,3)],[(2,1,0),(1,3,5)] ]
La liste extérieure peut avoir un certain nombre de listes internes, les listes internes peuvent avoir un certain nombre de tuples, un tuple toujours a 3 entiers.
Je veux générer toutes les combinaisons de tuples, un de chaque liste:
[(1,2,3),(7,8,9),(2,1,0)]
[(1,2,3),(7,8,9),(1,3,5)]
[(1,2,3),(8,7,6),(2,1,0)]
...
[(4,5,6),(5,4,3),(1,3,5)]
Une façon simple de le faire est d'utiliser une fonction similaire à itertools.poduct()
mais il doit être appelé comme celui-ci
itertools.product([(1,2,3),(4,5,6)], [(7,8,9),(8,7,6),(5,4,3)],[(2,1,0),(1,3,5)])
Par exemple, la liste externe est supprimée. Et je ne sais pas comment faire ça. Existe-t-il un meilleur moyen de générer toutes les combinaisons de tuples?
À quelle profondeur les niveaux imbriqués des listes peuvent-ils être. Juste 2, comme dans votre exemple? – Triptych
Est-ce que ce sont les devoirs? – Dani
Dupliquer: http://stackoverflow.com/search?q=%5Bpython%5D+flatten, http://stackoverflow.com/questions/120886/python-idiom-to-chain-flatten-an-infinite-iterable- of-fini-iterables, http://stackoverflow.com/questions/406121/flattening-a-shallow-list-in-python –