python – 元组的子元素

参见英文答案 > Getting the subsets of a set in Python                                    7个
我该如何生成

[(0,), (1,), (2,), (0,1), (0,2), (1,2), (0,1,2)]

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

(注意,这不是要求子集而是要求子数.)

解决方法:

>>> 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)]

Itertools是一个强大的资源.你应该看看documentation

上一篇:python – 从列表中的元组中剥离字符


下一篇:python – 检查元组的列表,其中元组的第一个元素由定义的字符串指定