列表理解中的双重迭代

在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]

?? (请只列出理解答案,因为这是我要查找的内容)。

回答:

哎呀,我想我找到了答案:我对那个循环是内部的,哪个循环是外部的,没有足够的小心。列表理解应为:

[x for b in a for x in b]

为了获得期望的结果,是的,一个当前值可以作为下一个循环的迭代器。

以上是 列表理解中的双重迭代 的全部内容, 来源链接: utcz.com/qa/397491.html

回到顶部