set方法中的其他单词是什么类型的?

时间:2016-04-27 13:17:01

标签: python-3.x set

Built-in类型set的帮助下,我找到了other

这个词
  

十字路口(其他,......)   集&其他& ...

     

返回一个新集合,其中包含集合和所有其他元素共有的元素。

我的问题是其他类型的限制是什么,它是可迭代的还是任何可转换为set类型的?

3 个答案:

答案 0 :(得分:2)

阅读documentation的其余部分:

  

注意,union()intersection()difference()symmetric_difference()issubset()issuperset()方法的非运营商版本< strong>将接受任何可迭代的参数。相比之下,他们基于运营商的同行要求他们的论点是集合。

(强调我的。)

答案 1 :(得分:1)

调用http://article.gmane.org/gmane.comp.web.nginx.english/181(第1236行)source,会检查othersetfrozenset还是子类型。

如果此检查失败,则使用other作为参数调用PyAnySet_Check以获取迭代器。

因此任何具有setfrozenset 关系的可迭代或对象都可以。

答案 2 :(得分:1)

这取决于。对于某些方法,例如intersection()other可以是任何可迭代的,而对于某些方法的某些基于运算符的对应方,例如issubset()(运算符对应方为<=),{{ 1}}也必须是一个集合。你也可以自己测试一下。这里有一些例子:

other