Comparing two sets in python

我只是一个虾纸丫 提交于 2019-12-11 16:51:33

问题


Hi guys,i have a doubt regarding comparing two sets

    >>> 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

In the above logic,for both z=x<y and z=x>y. I'm getting output as False,whereas one of the expression should return True. Could anyone explain me why?


回答1:


The < and > operators are testing for strict subsets. Neither of those sets is a subset of the other.

{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



回答2:


Straight from the python documentation --

In addition, both Set and ImmutableSet support set to set comparisons. Two sets are equal if and only if every element of each set is contained in the other (each is a subset of the other). A set is less than another set if and only if the first set is a proper subset of the second set (is a subset, but is not equal). A set is greater than another set if and only if the first set is a proper superset of the second set (is a superset, but is not equal).




回答3:


When working with sets, > and < are relational operators. hence, these operations are used to see if one set is the proper subset of the other, which is False for as neither is the proper subset of the other.



来源:https://stackoverflow.com/questions/49677114/comparing-two-sets-in-python

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!