元组的子元组

Bjø*_*sen 3 python tuples

我该如何生成

[(0,), (1,), (2,), (0,1), (0,2), (1,2), (0,1,2)]
Run Code Online (Sandbox Code Playgroud)

以编程方式(即,不用手写出所有东西)?也就是说,元组的所有非空元组的列表(0,1,2).

(注意,这不是要求子而是子元组.)

Dav*_*nus 5

>>> from itertools import combinations
>>> t = (0, 1, 2)
>>> print [subset for r in range(1,4) for subset in itertools.combinations(t,r)]
[(0,), (1,), (2,), (0, 1), (0, 2), (1, 2), (0, 1, 2)]
Run Code Online (Sandbox Code Playgroud)

Itertools是一个强大的资源.你应该查看文档