大家好,我对比较两套
有疑问 >>> 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。谁能解释我为什么?
答案 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;是关系运营商。 因此,这些操作用于查看一组是否是另一组的正确子集,这是假的,因为它们都不是另一组的正确子集。