gpt4 book ai didi

python - 许多for在python生成器中的一行中

转载 作者:行者123 更新时间:2023-11-28 19:52:43 24 4
gpt4 key购买 nike

我无法理解像这样在一个生成器中包含多个“for”的代码,我搜索了 Google 并没有找到任何答案:

print [j for i in [[1,2],[4,6]] for j in i ]
# will print [1, 2, 4, 6]

print [j for j in i for i in [[1,2],[4,6]] ]
# will print [4, 4, 6, 6]

有什么区别?

如何解释这样的代码?

最佳答案

希望这些扩展能帮助您推理代码。在我看来,这种方式更具可读性。我一次打印一个元素而不是整个列表。

print [j for i in [[1, 2], [4, 6]] for j in i]

相当于

for i in [[1, 2], [4, 6]]:
for j in i:
print j

结果 i = [4, 6]

现在,

print [j for j in i for i in [[1,2],[4,6]]]

相当于

for j in i: # Remember, i = [4, 6]
for i in [[1, 2], [4, 6]]:
print j

关于python - 许多for在python生成器中的一行中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51577748/

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