为什么这么说 - > TypeError:'bool'对象不可迭代

时间:2015-07-08 11:21:26

标签: python list list-comprehension

内容只是一个文本文件

tokens = content.split()
topics = [e for (n, x) in enumerate(tokens) for (n2, x2) in enumerate(tokens) for (i, e) in enumerate(tokens) if any(x2.isdigit()) if '.' in x if re.findall('\D+', x) if n < i < n2]

我不明白我是如何迭代bool的,还有更简洁,更快速的方法来完成这个列表理解吗?

1 个答案:

答案 0 :(得分:2)

您的问题来自 - any(x2.isdigit()),我猜x2是一个字符串,因此x2.isdigit()会返回bool,您无法使用any()函数它

尝试不使用any()函数来检查x2是否为数字 -

if x2.isdigit()

如果你要检查的是x2中是否有数字,你可以试试 -

if any(i.isdigit() for i in x2)

虽然我不知道你要做什么,所以无法检查其他逻辑是否合适。

any()函数用于 iterable (列表或生成器表达式等),以检查它们中是否有任何一个。