为什么会说-->TypeError:“bool”对象不是iterab

2024-04-25 14:37:42 发布

您现在位置:Python中文网/ 问答频道 /正文

内容只是一个文本文件

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的,还有没有一种更简洁、更快的方法来理解这个列表?


Tags: inre内容forifanycontentsplit
1条回答
网友
1楼 · 发布于 2024-04-25 14:37:42

你的问题来自-any(x2.isdigit()),我猜x2是一个字符串,所以x2.isdigit()返回一个bool,不能对它使用any()函数。

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

if x2.isdigit()

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

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

虽然我不知道你在做什么,所以不能检查其他逻辑是否正确。

^{}函数用于iterable(列表或生成器表达式等),以检查其中任何一个是否为真。

相关问题 更多 >