我有一个清单
mylist = [
['f', 'l', 'a', 'd', 'l', 'f', 'k'],
['g', 'm', 'b', 'b', 'k', 'g', 'l'],
['h', 'n', 'c', 'a', 'm', 'j', 'o'],
['i', 'o', 'd', 'c', 'n', 'i', 'm'],
['j', 'p', 'e', 'e', 'o', 'h', 'n'],
]
我想要按列进行排列/组合,这样列的元素仅限于该列,即f,g,h,i,j保留在第1列,l,m,n,o,p中在第2列等中,在排列/组合的结果中。如何在Python 2.7中实现这一目标?
答案 0 :(得分:1)
您可以use zip(*mylist)
列出"列" mylist
。然后使用the *
operator(再次)将这些列表解压缩为IT.product
或IT.combinations
的参数。例如,
import itertools as IT
list(IT.product(*zip(*mylist)))
产量
[('f', 'l', 'a', 'd', 'l', 'f', 'k'),
('f', 'l', 'a', 'd', 'l', 'f', 'l'),
('f', 'l', 'a', 'd', 'l', 'f', 'o'),
('f', 'l', 'a', 'd', 'l', 'f', 'm'),
...]