我想知道python中是否有一种方法可以循环遍历列表并检查列表元素是否属于特定类型。在不正确的伪代码中有这样的东西。
listt = ['3109', datetime.timedelta(0, 240), datetime.timedelta(0, 60), '2411',
datetime.timedelta(0, 2160), '3109']
for i in listt:
if type(i) is class.__str__:
print('success')
可以检查这样的类型吗?此外,我发现自己无法遍历带有timedelta对象的列表,所以每次遇到TypeError时,我都必须排除它。这个代码中没有显示。
我感谢你的帮助。感谢
您可以使用isinstance
:
for i in listt:
if isinstance(i,str):
print('success')
输出:
success
success
success
请注意,您的伪代码几乎可以工作。以下方法同样有效:
for i in listt:
if type(i) is str:
print('success')
另一种isinstance
方式:
for i in listt:
print(isinstance(i,str))
保存了一行,但结果是:
True
False
False
True
False
True
您可以使用type((函数。
a = 3.14
if type(a) == str:
pass
更多信息可以在这里找到:
如何确定Python变量';s类型?