微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

生成子集和未使用元素的集合

如何解决生成子集和未使用元素的集合

我想要一个 python 程序,它接受一个整数列表,并返回一个包含子集的元组列表列表,以及包含第一个子集中未使用的其余值的子集,本质上是获得所有组合的可能性列表中的值。

[1,2,3,4]

应该返回

[[(1,),(2,(3,(4,)],[(1,) (3,4,4)]...and so on]

解决方法

是的。对于库 more_itertools,这非常容易。您可以使用 for 循环在下面编写您的 tuple 级输出并丢弃不需要的 结果。

import more_itertools

s1 = set([1,2,3,4])
subsubsets = more_itertools.set_partitions(s1)
print(*subsubsets)
subsubsets = more_itertools.set_partitions(s1)
for l in subsubsets:
    if l1 != sum(len(k) for k in l):
        print(f"{l} non-compliant")
        break

输出(添加额外的换行符)

[[1,4]]
[[1],[2,4]]
[[1,2],[3,4]]
[[2],[1,3],[4]]
[[2,4]]
[[3],[2],[4]]
[[1],[3],[4]]
[[2],[4]]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?