如果列表元素是某种类型,则遍历列表并打印“true”

我想知道 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。这在这段代码中没有显示。


我很感激任何帮助。谢谢


千巷猫影
浏览 186回答 3
3回答

慕少森

您可以使用isinstance以下方法执行此操作:for i in listt:    if isinstance(i,str):        print('success')输出:successsuccesssuccess请注意,您的伪代码几乎可以工作。以下也可以工作:for i in listt:    if type(i) is str:        print('success')

繁花不似锦

另一种isinstance方式:for i in listt:    print(isinstance(i,str))保存了一行,但结果是:TrueFalseFalseTrueFalseTrue

qq_笑_17

您可以使用 type() 函数。a = 3.14if type(a) == str:     pass
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python