試試這個,
>>> import itertools
>>> print list(itertools.permutations([True, True , False], 3))
輸出
[(True, True, False), (True, False, True), (True, True, False), (True, False, True), (False, True, True), (False, True, True)]
OR試試這個,
>>> def combiList(l):
if not l:
return [[]]
res = []
for e in l:
temp = l[:]
temp.remove(e)
res.extend([[e] + r for r in combiList(temp)])
return res
>>> combiList([True, True , False])
[[True, True, False], [True, False, True], [True, True, False], [True, False, True], [False, True, True], [False, True, True]]
>>>
http://stackoverflow.com/questions/104420/如何生成所有python列表中的列表 – seb
[True,True,True],[False,False,True]和[False,False,False]不是[真,真,假] – miles82
哦對。那不是所謂的排列。你叫什麼不同的組合? – user3349106