Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从给定的集合生成集合,例如it';s与所有集合的交集不同于{}_Python_Set - Fatal编程技术网

Python 从给定的集合生成集合,例如it';s与所有集合的交集不同于{}

Python 从给定的集合生成集合,例如it';s与所有集合的交集不同于{},python,set,Python,Set,我一直在试图找出一个有效的算法,它返回一个集合,比如它与给定集合的交集不等于{} 例如:假设给定的集合是{1,7,4}、{2,8,5}、{1,3}、{2,6}函数必须返回集合{1,2},因为它与所有给定集合有一个交点(生成的集合需要尽可能小)是否有必要使组合集合尽可能小?如果没有,这将起作用: A = [{1,7,4},{2,8,5},{1,3},{2,6}] combinedSet = set() for a in A: combinedSet |= a print(combinedS

我一直在试图找出一个有效的算法,它返回一个集合,比如它与给定集合的交集不等于
{}


例如:假设给定的集合是
{1,7,4}、{2,8,5}、{1,3}、{2,6}
函数必须返回集合
{1,2}
,因为它与所有给定集合有一个交点(生成的集合需要尽可能小)

是否有必要使组合集合尽可能小?如果没有,这将起作用:

A = [{1,7,4},{2,8,5},{1,3},{2,6}]
combinedSet = set()
for a in A:
    combinedSet |= a
print(combinedSet)
注释中建议的另一种更简洁的方法:

A = [{1,7,4},{2,8,5},{1,3},{2,6}]
combinedSet = set.union(*A)
print(combinedSet)

是否有必要使组合装置尽可能小?如果没有,这将起作用:

A = [{1,7,4},{2,8,5},{1,3},{2,6}]
combinedSet = set()
for a in A:
    combinedSet |= a
print(combinedSet)
注释中建议的另一种更简洁的方法:

A = [{1,7,4},{2,8,5},{1,3},{2,6}]
combinedSet = set.union(*A)
print(combinedSet)

这是一个强力解决方案。显然,这是众所周知的问题


这是一个强力解决方案。显然,这是众所周知的问题


你可以简单地取并集,这样就可以保证它与所有集合相交,请重新表述你的问题,并展示你自己的尝试。这是一个猜测,但我认为用户想要最小的集合。否则,问题就微不足道了。但是需要澄清。很抱歉,我忘了提到它需要尽可能地优化,这就是为什么我无法解决问题的原因。我看一看:你可以简单地取联合体,这样它就保证与所有集合相交,请重新制定你的问题,并展示你自己的尝试。这是一个猜测,但我认为用户想要尽可能小的这样的集合。否则,问题就微不足道了。但是需要澄清。很抱歉,我忘了提到它需要尽可能的优化,这就是为什么我无法解决的原因。我看看这个:是的,设置需要尽可能小,很抱歉,我忘了提到it@JimmyCarlos,仅供参考OP已确认他们需要最小的此类装置。是的,装置需要尽可能小,对不起,我忘了提it@JimmyCarlos,仅供参考OP已确认他们需要最小的此类集合。这非常感谢此解决方案,我不知道此问题有名称这非常感谢此解决方案,我不知道此问题有名称