我发现很难理解以下代码的工作原理:
mylist = [1,2,3,4,5]
print(sum(i for i in mylist))
上面的代码给出了 15 的正确结果,但是“i”不应该在声明之后而不是之前使用吗?
最佳答案
阅读 generator expressions 上的文档.
您将看到您正在(有效地)创建一个相当于以下内容的迷你生成器:
def iter_list(lst):
for i in lst:
yield i
myList = [1,2,3,4,5]
print(sum(iter_list(myList)))
关于Python for 循环声明和行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51927682/