对元组使用“ in”的比较逻辑

时间:2019-03-07 05:40:33

标签: python python-3.x

我无法理解为元组使用“ in”的逻辑

例如,

t = (0, 2, 2.0, 5.0)
(0) in t gives True #or any single element of t
(0, 2) in t gives False
(0, 2, 2.0) in t gives False

t = [(0, 2, 2.0, 5.0),(0, 1, 0.0, -1.5)]
(0) in t gives False

请赐教。谢谢!

2 个答案:

答案 0 :(得分:2)

您的元组(0, 2, 2.0, 5.0)确实包含(0),因为它只是int0

它不包含(0, 2),因为(0, 2, 2.0, 5.0)中没有这样的元组。

以下是一个包​​含tuple的{​​{1}}的示例:

(0, 2)

答案 1 :(得分:1)

就像在元组中搜索(0)一样,它只是在搜索一个单个元素0(该元组中的整数)。因此,它返回True。 当您搜索(0,2)时,实际上是在t中不存在的元组中搜索元组,因此在这种情况下它返回False。 :)

In [7]: t = (0, 2, 2.0, 5.0)                                                                                                                                                         

In [8]: (0,2) in t                                                                                                                                                                   
Out[8]: False

In [9]: t = (0, 2, 2.0, 5.0,(0,2))                                                                                                                                                   

In [10]: (0,2) in t                                                                                                                                                                  
Out[10]: True