如何知道对象是str还是list或dict还是int?

时间:2014-09-26 07:42:19

标签: python

我有一个列表列表,然后我从列表中提取最后一个元素。现在,如何知道它是str还是list还是dict还是int

list2 = response_list[0][-1]
print list2,type(list2)  
print "not executing"
print list2

如果该元素是liststr,则我无法通过以下代码进行匹配:

    list2 = response_list[0][-1]
    if type(list2) == str() :
        print list2,type(list2)
    elif type(list2) == list() :
        print list2,type(list2)

4 个答案:

答案 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