给出Python中长度为N的列表:
a = [A,B,C]
我想创建所有可能的列表组合,并设置最大长度(在本例中为2)。元素的顺序也很重要。这就是我想要的结果:
[A,B],[C]
[B,A],[C]
[A,C],[B]
[C,A],[B]
[B,C],[A]
[C,B],[A]
我认为permutations function是一个很好的起点。但我无法弄清楚如何得到确切的结果。
答案 0 :(得分:1)
试试这个:
a = ['A', 'B', 'C']
for v in permutations(a):
for i in range(0, len(v), 2):
print v[i:i+2]
print '-'*10
输出:
('A', 'B')
('C',)
----------
('A', 'C')
('B',)
----------
('B', 'A')
('C',)
----------
('B', 'C')
('A',)
----------
('C', 'A')
('B',)
----------
('C', 'B')
('A',)
----------