比较python中的两个集合

时间:2018-04-05 16:20:46

标签: python set

大家好,我对比较两套

有疑问
    >>> x = {"a","b","1","2","3"}  
    >>> y = {"c","d","f","2","3","4"}  
    >>> z=x<y        
    >>> print(z)
    False
    >>> z=x>y
    >>> print(z)
    False

在上述逻辑中,z=x<y and z=x>y。我输出为False,而其中一个表达式应该返回True。谁能解释我为什么?

3 个答案:

答案 0 :(得分:7)

<>运算符正在测试严格subsets。这些集合都不是另一个集合的子集。

{1, 2} < {1, 2, 3}  # True
{1, 2} < {1, 3}  # False
{1, 2} < {1, 2}  # False -- not a *strict* subset
{1, 2} <= {1, 2}  # True -- is a subset

答案 1 :(得分:3)

直接来自python文档 -

  

此外,Set和ImmutableSet支持设置为设置比较。   当且仅当每组的每个元素都是时,两组相等   包含在另一个中(每个都是另一个的子集)。一套较少   当且仅当第一组是适当的子集时,才能使用另一组   第二组(是一个子集,但不相等)。一组大于   另一组当且仅当第一组是一个正确的超集时   第二组(是一个超集,但不相等)。

答案 2 :(得分:2)

使用套装时,&gt;和&lt;是关系运营商。 因此,这些操作用于查看一组是否是另一组的正确子集,这是假的,因为它们都不是另一组的正确子集。