如果列表元素属于某种类型,则遍历列表并打印“真”[重复]
Posted
技术标签:
【中文标题】如果列表元素属于某种类型,则遍历列表并打印“真”[重复]【英文标题】:Iterate through list and print 'true' if list element is of a certain type [duplicate] 【发布时间】:2019-05-11 22:57:42 【问题描述】:我想知道 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 时我都必须排除。此代码中未显示。
感谢您的帮助。谢谢
【问题讨论】:
你可以使用isinstance 这个论坛可能会有所帮助:***.com/questions/402504/… 【参考方案1】:您可以使用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')
【讨论】:
谢谢!我不敢相信我忘记了这一点。 我有点超前了。【参考方案2】:另一种isinstance
方式:
for i in listt:
print(isinstance(i,str))
保存了一行,但结果是:
True
False
False
True
False
True
【讨论】:
【参考方案3】:你可以使用 type() 函数。
a = 3.14
if type(a) == str:
pass
更多信息可以在这里找到:
How to determine a Python variable's type?
【讨论】:
以上是关于如果列表元素属于某种类型,则遍历列表并打印“真”[重复]的主要内容,如果未能解决你的问题,请参考以下文章