内容只是一个文本文件
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
的,还有更简洁,更快速的方法来完成这个列表理解吗?
答案 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 (列表或生成器表达式等),以检查它们中是否有任何一个。