Iterate through list and print 'true' if list element is of a certain type
本问题已经有最佳答案,请猛点这里访问。
我想知道在python中是否有一种方法可以循环遍历一个列表,并检查一个列表元素是否属于某种类型。在不正确的伪代码中类似这样。
1 2 3 4 5 | 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对象迭代列表,所以每次遇到一个类型错误时,我都必须排除它。此代码中未显示。
我感谢你的帮助。谢谢
另一种方法:
1 2 | for i in listt: print(isinstance(i,str)) |
保存了一行,但结果是:
1 2 3 4 5 6 | True False False True False True |
您可以使用
1 2 3 | for i in listt: if isinstance(i,str): print('success') |
输出:
1 2 3 | success success success |
请注意,伪代码几乎可以工作。以下内容也适用:
1 2 3 | for i in listt: if type(i) is str: print('success') |
您可以使用type()函数。
1 2 3 | a = 3.14 if type(a) == str: pass |
更多信息可在这里找到:
如何确定python变量的类型?