评估元组的有线行为

时间:2016-05-28 17:50:19

标签: python python-2.7 types

当我有一个元组列表并且我尝试在函数中评估列表中每个元素的类型时,我看到了这种行为

In [348]:def f2(x):
             if x[0]==tuple:
                 return True
             else:
                 return False


In [349]:w=[(0,1)]

In [350]:f2(w)
Out[350]: False

但是当我单独评估这些元素时,我得到了预期的结果

In [351]:type(w[0])==tuple
Out[351]: True

1 个答案:

答案 0 :(得分:1)

您忘记在type条件中致电if

def f2(x):
    if type(x[0])==tuple:
        return True
    else:
        return False

但请注意,由于if - else的每个分支只返回一个布尔值,您可以完全删除它并返回条件的评估:

def f2(x):
   return type(x[0])==tuple