我刚接触Python,对Python官方文档中的一段代码感到困惑。
unique_words = set(word for line in page for word in line.split())
对我来说,它看起来相当于:
unique_words=set()
for word in line.split():
for line in page:
unique_words.add(word)
在嵌套循环中,如何在第一个循环之前使用line变量,而它又未被定义?然而,它确实可以工作。我认为这表明了嵌套列表推导和生成器表达式的顺序是从左到右的,这与我的先前理解相矛盾。
有人能为我澄清正确的顺序吗?
for line in page
部分应该是外层循环。 - APerson