例如,我想获取一个列表List = [1,2,2]
并生成它的排列。我可以这样做:
NewList = [list(itertools.permutations(List))]
输出是:
[[(1, 2, 2), (1, 2, 2), (2, 1, 2), (2, 2, 1), (2, 1, 2), (2, 2, 1)]]
问题:itertools.permutations
返回一个长度为 1 的列表,其唯一条目是 List 的所有排列的列表。那是:
NewList[0] == [(1,2,2),(1,2,2),(2,1,2),(2,2,1),(2,1,2),(2,2,1)]
和
NewList[1]
不存在。
我希望输出是一个列表,其中每个条目都是排列之一。那是
NewList[0] == (1,2,2)
NewList[1] == (1,2,2)
NewList[2] == (2,1,2)
...
NewList[5] == (2,2,1)
问题:是否有一个命令会以这种方式产生 List 的排列?如果做不到这一点,有没有办法访问“个人元素”,[list(itertools.permutations(List))]
这样我就可以用它们做事了?