manipulating the output of itertools.permutations in python -
i want take list, instance list = [1,2,2]
, , generate permutations. can with:
newlist = [list(itertools.permutations(list))]
and output is:
[[(1, 2, 2), (1, 2, 2), (2, 1, 2), (2, 2, 1), (2, 1, 2), (2, 2, 1)]]
the problem: itertools.permutations
returns list of length 1 entry list of permutations of list. is:
newlist[0] == [(1,2,2),(1,2,2),(2,1,2),(2,2,1),(2,1,2),(2,2,1)]
and
newlist[1]
not exist.
i want output list each entry 1 of permutations. is
newlist[0] == (1,2,2) newlist[1] == (1,2,2) newlist[2] == (2,1,2) ... newlist[5] == (2,2,1)
the question: there command produce permutations of list in way? failing that, there way access 'individual elements' of [list(itertools.permutations(list))]
can things them?
>>> itertools import permutations >>> list(permutations([1,2,2])) [(1, 2, 2), (1, 2, 2), (2, 1, 2), (2, 2, 1), (2, 1, 2), (2, 2, 1)]
you don't need put in list again. i.e don't [list(permutations(...))]
(by doing []
making nested list , hence unable access elements using testlist[index]
, though testlist[0][index]
better keep list of tuples.)
>>> newlist = list(permutations([1, 2, 2])) >>> newlist[0] (1, 2, 2) >>> newlist[3] (2, 2, 1)
now can access elements using indices.
Comments
Post a Comment