我想写一个函数,以确定给定二进制数(0、1或无)的长度为n的列表的所有可能组合
假设我的列表长度应该是3。比所需的输出应为:
arrangement_1 = [0,0,0]
arrangement_2 = [1,0,0]
arrangement_3 = [0,1,0]
arrangement_4 = [0,0,1]
arrangement_5 = [1,1,0]
arrangement_6 = [1,0,1]
arrangement_7 = [0,1,1]
arrangement_8 = [1,1,1]
arrangement_9 = [0,0,None]
arrangement_10 = [None,0,0]
arrangement_11 = [0,None,0]
arrangement_12 = [0,None,None]
arrangement_13 = [None,0,None]
arrangement_14 = [None,None,0]
arrangement_15 = [1,1,None]
arrangement_16 = [None,1,1]
arrangement_17 = [1,None,1]
arrangement_18 = [1,None,None]
arrangement_19 = [None,1,None]
arrangement_20 = [None,None,1]
arrangement_21 = [None,1,0]
arrangement_N = [...]
我尝试了以下函数,给它一个1s/0s的随机初始状态和None元素,但它没有给我想要的输出(我还尝试了其他函数,如组合-也没有想要的输出):
def calc_permutations(list = []): # Takes list with n elements and calculates no of permutations and return dictionary of number of permutations and states
possible_states = []
for i in permutations(list,len(list)):
possible_states.append(i)
possible_states = {"noOfstates": len(possible_states), "states": possible_states}
return possible_states
您可以使用itertools.product:
输出:
相关问题 更多 >
编程相关推荐