python - 在 Python 中创建所有东西的集合
问题描述
我正在寻找 set.intersection 的基本案例
我有一个算法,它接受一个集合列表,列表的长度可以是 0、1、2、3 等等。给定这个列表,它将返回列表中所有集合的交集。然后,返回的交叉点将被进一步用于与更多事物相交。代码要点及其用法如下所示:
def intersect(list_of_sets):
return set.intersection(*list_of_sets)
ss1 = intersect(list_of_sets)
# a few moments later . . .
# . . .
ss2 = set.intersection(some_other_set, ss1)
因此,当 list_of_sets 是一个空列表时,就会出现问题。这很麻烦,因为它破坏了我的代码。一个优雅的解决方案是重写代码如下:
def intersect(list_of_sets):
return set.intersection(*[list_of_sets, set.EVERYTHING])
ss1 = intersect(list_of_sets)
# a few moments later . . .
# . . .
ss2 = set.intersection(some_other_set, ss1)
这样,空列表下 intersect 的返回值将被设置为 set.EVERYTHING,它与 some_other_set 正确相交以根据需要形成 ss2。
我知道在 python 中,浮点数和整数具有最大值,例如 INF 等,是否有类似的集合?添加的“基本情况”是“0”,集合并集的“基本情况”是空集,我需要一个集合交集的基本情况,即所有集合。它存在吗?
解决方案
推荐阅读
- view - 如何在表单视图中显示来自另一个菜单模型的特定参数?(Odoo 13 企业版)
- python - Django 选择对象未将 id 传递给 URL
- java - 无法使用java客户端访问docker for windows中的rabbitmq
- android - 在 Audio Manager 对象上发送额外数据以确保 android.media.RINGER_MODE_CHANGED Action Receiver 接收到此信息
- postgresql - Postgres/jOOQ 替换 jsonb[] 元素
- excel - 堆叠数据并添加折线
- python - 如何用虚线连接散点图的点?
- symfony - Symfony 5 httpClient Windows AD 连接
- r - 将数据框中的列分成其他几列
- .net - 突然得到:HTTP 请求未经授权,客户端身份验证方案“协商”