我已经发现很多次要获取给定列表的所有可能组合的问题,但还没有找到如何获得所有可能的订单的问题。
另外,我也在寻找另一种输出组合的方法。
让我们来看一个例子。
假设我有以下元素列表。
['A', 'B', 'C']
我想生成一个匹配这两种表达方式的字典。
第一个是通过可变长度的列表来表达不同的组合和不同的顺序:
[]
['A']
['A','B']
['B','A']
...
['A','B','C']
['A','C','B']
['C','A','B']
...
第二个使用固定大小的列表,其中正整数以相反的顺序指示该元素的位置(第一个元素从0开始,然后第二个元素为1,第三个元素为2,依此类推...),并替换为'void '元素('')为-1。 这给出:
# Initial list: [ 'A', 'B', 'C']
| | |
v v v
[] -> [ -1 , -1 , -1 ]
['A'] -> [ 0 , -1 , -1 ]
['A','B'] -> [ 0 , 1 , -1 ]
['B','A'] -> [ 1 , 0 , -1 ]
...
['A','B','C'] -> [ 0 , 1 , 2 ]
['A','C','B'] -> [ 0 , 2 , 1 ]
['C','A','B'] -> [ 1 , 2 , 0 ]
...
非常感谢您的任何想法! 最好的