簡體   English   中英

比較python中的兩組

[英]Comparing two sets in python

我對比較兩組有疑問:

    >>> 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。 誰能解釋我為什么?

<>運算符正在測試嚴格的子集 這些集合都不是另一個的子集。

{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

直接來自 python 文檔——

此外,Set 和 ImmutableSet 都支持 set 與 set 比較。 兩個集合相等當且僅當每個集合的每個元素都包含在另一個集合中(每個都是另一個的子集)。 一個集合小於另一個集合當且僅當第一個集合是第二個集合的一個真子集(是一個子集,但不相等)。 一個集合大於另一個集合當且僅當第一個集合是第二個集合的真超集(是一個超集,但不相等)。

使用集合時,> 和 < 是關系運算符。 因此,這些操作用於查看一個集合是否是另一個集合的真子集,這是錯誤的,因為它們都不是另一個集合的真子集。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM