假设我有以下列表:
L = [1, 2, 3]
我想得到以下输出:
[[1], [2],[3]]
[[1], [2, 3]]
[[2], [1, 3]]
[[3], [1, 2]]
除了我什至不确定我是否正确地表达了这个问题。它基本上就像不重复的排列组?
假设我有以下列表:
L = [1, 2, 3]
我想得到以下输出:
[[1], [2],[3]]
[[1], [2, 3]]
[[2], [1, 3]]
[[3], [1, 2]]
除了我什至不确定我是否正确地表达了这个问题。它基本上就像不重复的排列组?
我不清楚您是如何得出输出的(另一个示例或更好的描述可能会有所帮助),但答案可能在于itertools
,其中包含许多用于处理组合和排列的工具:
>>> data = [1, 2, 3]
>>> list(zip(reversed(data), itertools.combinations(data, 2)))
[(3, (1, 2)), (2, (1, 3)), (1, (2, 3))]