【发布时间】:2022-01-27 23:01:07
【问题描述】:
我是 Python 新手,我想了解为什么我们在 len() 函数中使用方括号:
def counts(txt):
return len([letter for letter in txt.lower() if letter in "aeiou"])
如果我删除方括号,我会得到
TypeError: 'generator' 类型的对象没有 len()
但我不明白这是什么意思。
【问题讨论】:
-
这是因为您调用 lower() 函数作为列表理解的一部分
-
@JCaesar 这与是否使用
lower无关。 -
这个真的可以写成
sum(letter in 'aeiou' for letter in txt.lower())... -
请参阅How to len(generator()) 和相关问题。
标签: python