当我有一个元组列表并且我尝试在函数中评估列表中每个元素的类型时,我看到了这种行为
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
答案 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