我想知道 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 时,我都必须排除 TypeError。这在这段代码中没有显示。我很感激任何帮助。谢谢
3 回答
慕少森
TA贡献2019条经验 获得超9个赞
您可以使用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')
繁花不似锦
TA贡献1851条经验 获得超4个赞
另一种isinstance方式:
for i in listt:
print(isinstance(i,str))
保存了一行,但结果是:
True
False
False
True
False
True
添加回答
举报
0/150
提交
取消