python - 测试python类是否为str、list等
问题描述
我有一个课程列表:
[<class 'str'>, <class 'str'>, <class 'str'>, <class 'str'>, <class 'datetime.date'>, <class 'decimal.Decimal'>, <class 'decimal.Decimal'>, <class 'str'>, <class 'datetime.date'>, <class 'decimal.Decimal'>, <class 'decimal.Decimal'>, <class 'decimal.Decimal'>]
我想做一个类似于 isinstance() 的布尔测试:
[isinstance(x, str) for x in l]
但 isinstance() 只接受对象而不是类。
我想要的结果,对于上面的列表来测试一个类是否是一个字符串,将类似于:
[True, True, True, True, False, False, False, True, False, False, False, False]
解决方案
使用==
运算符:
[x == str for x in l]
推荐阅读
- excel - 生成数据透视表时如何在录制的宏 (VBA) 中使用动态源数据
- mysql - 从在第 3 集与其杀手一起死去的角色中获取姓名
- javascript - 渲染之间不更新状态的默认值
- ios - Xamarin.iOS 绑定库无法使用安全框架中的 SecKey API
- python - 根据列中的多个条件删除行(使用 Python)
- xamarin.forms - 集合视图中的选取器在 SelectedIndexChanged 中失去价值
- sql - 如何连接具有不同列数据类型的两个表
- mysql - WordPress + MySQL 部署在 Kubernetes - MySQL 连接错误
- python - Django将对象传递给另一种形式的模型
- java - 更新我的实体时出现“ConcurrentModificationException”