我有一个列表,我想通过在所有可能的位置添加 x 1 和 0 来使所有列表成为可能。例如,假设 x = 2 和
l=[0,1]
首先,我们只需将所有可能的长度为 2 的列表放在开头给出[0,0,0,1]
, [0,1,0,1]
, [1,0,0,1]
, [1,1,0,1]
。然后我们将 0 或 1 放在开头,将 0 或 1 放在位置 2 给出[0,0,0,1]
, [0,0,1,1]
, [1,0,0,1]
, [1,0,1,1]
。
然后,我们将对列表中可以插入两个位的每个可能的位置对执行相同的操作。当然会有很多重复,但我可以使用set
.
另一个例子,这次 x = 1
l=[1,1]
完整的输出应该是[0,1,1], [1,0,1], [1,1,0], [1,1,1]
.
有没有聪明的方法来做到这一点?