我有一个列表列表,然后我从列表中提取最后一个元素。现在,如何知道它是str
还是list
还是dict
还是int
?
list2 = response_list[0][-1]
print list2,type(list2)
print "not executing"
print list2
如果该元素是list
或str
,则我无法通过以下代码进行匹配:
list2 = response_list[0][-1]
if type(list2) == str() :
print list2,type(list2)
elif type(list2) == list() :
print list2,type(list2)
答案 0 :(得分:11)
Since Python 2.2,您应该使用以下代码:
if isinstance(list2, (str, list, dict)):
isinstance()
将元组作为第二个参数,如果类型在元组中,则返回true
。
答案 1 :(得分:1)
实际上,type函数可以作为
>>> a = []
>>> type(a)
<type 'list'>
>>> f = ()
>>> type(f)
<type 'tuple'>
对于比较,您可以使用返回isinstance()
True/False
函数
list2 = response_list[0][-1]
if isinstance(list2,str):
print list2,type(list2)
elif isinstance(list2,list):
print list2,type(list2)
答案 2 :(得分:0)
您可以像这样重新安排代码,
list2 = response_list[0][-1]
if type(list2) == str:
print list2,type(list2)
elif type(list2) == list:
print list2,type(list2)
答案 3 :(得分:0)
尝试使用下面的类型函数,非常干净对吗?
dict, str, tuple, int
if type(d) is dict:
True