为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

千巷猫影 2021-09-14 09:45:02
我想知道 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')


查看完整回答
反对 回复 2021-09-14
?
繁花不似锦

TA贡献1851条经验 获得超4个赞

另一种isinstance方式:


for i in listt:

    print(isinstance(i,str))

保存了一行,但结果是:


True

False

False

True

False

True



查看完整回答
反对 回复 2021-09-14
?
qq_笑_17

TA贡献1818条经验 获得超7个赞

您可以使用 type() 函数。


a = 3.14

if type(a) == str:

     pass


查看完整回答
反对 回复 2021-09-14
  • 3 回答
  • 0 关注
  • 183 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信