在不使用ITERTOOLS的情况下在布尔列表的python中创建组合/排列

use*_*106 5 python permutation

l = [True, True , False]
Run Code Online (Sandbox Code Playgroud)

不使用itertools模块。

您如何在新的L中创建l的排列 list

newlist = [[True,True,False],[True,True,True], [False,False,True],[False,False,False]....]
Run Code Online (Sandbox Code Playgroud)

本质上,这就是我想做的事情:

allorderings = itertools.product ([False, True], repeat = n)
Run Code Online (Sandbox Code Playgroud)

yat*_*ade 4

使用itertools.permutations

import itertools
l = [True, True , False]
newlist = list(itertools.permutations(l))
Run Code Online (Sandbox Code Playgroud)

编辑:从你的问题来看,你需要的排列之一是(True, True, True)这根本不是列表的排列l。这个答案为您提供了技术意义上的列表排列,您可能需要做额外的工作才能实现问题中显示的内容(当然,除非这是一个拼写错误)。