在 Python 中,您可以在列表推导中拥有多个迭代器,例如
[(x,y) for x in a for y in b]
对于一些合适的序列a和b。我知道 Python 列表推导的嵌套循环语义。
我的问题是:理解中的一个迭代器可以引用另一个吗?换句话说:我可以有这样的东西:
[x for x in a for a in b]
其中外循环的当前值是内循环的迭代器?
例如,如果我有一个嵌套列表:
a=[[1,2],[3,4]]
列表理解表达式是什么来实现这个结果:
[1,2,3,4]
?? (请只列出理解答案,因为这是我想知道的)。
原文由 ThomasH 发布,翻译遵循 CC BY-SA 4.0 许可协议
哎呀,我想我找到了答案:我没有足够注意哪个循环是内部的,哪个是外部的。列表理解应该是这样的:
获得所需的结果,是的,一个当前值可以是下一个循环的迭代器。