我有一个列表(为了简单起见,假设有6个元素)
L = [0, 1, 2, 3, 4, 5]
我想用 全部可能的方法把它们组合成对。我展示了一些配置:
[(0, 1), (2, 3), (4, 5)]
[(0, 1), (2, 4), (3, 5)]
[(0, 1), (2, 5), (3, 4)]
诸如此类。
Here (a, b) = (b, a) and the order of pairs is not important i.e.
[(0, 1), (2, 3), (4, 5)] = [(0, 1), (4, 5), (2, 3)]
这种配置的总数是 1*3*5*...*(N-1),其中 N是我的列表的长度。
如何用 Python 编写一个生成器,为任意 N提供所有可能的配置?