如何检查列表中所有元素的类型?
例如,我有一个列表:
li = ["Hello", 12121, False]
如何创建一个遍历列表中每个元素的程序并输出每个元素的类型
如“地狱”是一个字符串
12121是一个整数
False是一个布尔值。
答案 0 :(得分:0)
查看Python的内置isintance
方法,以及type
方法。要查找整个列表,您可以简单地遍历列表并输出type
方法的结果。
例如:
for item in list:
print type(item)
或者如果您期望某些类型:
for item in list:
if isinstance(item,basestring):
print "I am a type of string!"
if isinstance(item,(str,unicode)):
print "I am a str or unicode!"
if isinstance(item,int):
print "I am a type of int!"
if isinstance(item,(int,float)):
print "I am an int or a float!"
if isinstance(item,bool):
print "I am a boolean!"
if isinstance(True,bool):
print "I am a boolean!"
if isinstance(True,int):
print "I am an int!" # because booleans inherit from integers ;)
isinstance
方法通常更好,因为它会检查继承的类。有关详细讨论,请参阅this post。