Why does it say this--> TypeError: 'bool' object is not iterable
Why does it say this--> TypeError: 'bool' object is not iterable
内容只是一个文本文件
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
的,还有更简洁、更快速的方法来理解这个列表吗?
你的问题来自 - any(x2.isdigit())
,我猜 x2
是一个字符串,所以 x2.isdigit()
returns a bool
,你不能使用 any()
函数就可以了。
尝试不使用 any()
函数来检查 x2 是否为数字 -
if x2.isdigit()
如果你想检查x2
里面有没有数字,你可以试试-
if any(i.isdigit() for i in x2)
虽然我不知道你想做什么,所以无法检查其他逻辑是否正确。
any()
函数用于 iterable (列表或生成器表达式等),以检查它们是否为真。
内容只是一个文本文件
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
的,还有更简洁、更快速的方法来理解这个列表吗?
你的问题来自 - any(x2.isdigit())
,我猜 x2
是一个字符串,所以 x2.isdigit()
returns a bool
,你不能使用 any()
函数就可以了。
尝试不使用 any()
函数来检查 x2 是否为数字 -
if x2.isdigit()
如果你想检查x2
里面有没有数字,你可以试试-
if any(i.isdigit() for i in x2)
虽然我不知道你想做什么,所以无法检查其他逻辑是否正确。
any()
函数用于 iterable (列表或生成器表达式等),以检查它们是否为真。