gpt4 book ai didi

python - python中嵌套列表理解和嵌套生成器表达式的顺序

转载 作者:太空狗 更新时间:2023-10-30 03:01:05 26 4
gpt4 key购买 nike

初学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.split() 中的单词在页面中的单词行

这部分的工作原理是这样的:-

for line in page:
for word in line.split():
print word

() 这使得它成为`generator function 因此,总体陈述工作在于:-

def solve():
for line in page:
for word in line.split():
yield word

并且 set() 用于避免相同单词的重复或重复,因为代码旨在获得“独特的单词”。

关于python - python中嵌套列表理解和嵌套生成器表达式的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26759339/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com