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

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

Python相关问答推荐

如何从不同长度的HTML表格中抓取准确的字段?

GEKKO:已知延迟的延迟系统的参数估计

创建带有二维码的Flask应用程序,可重定向到特定端点

在编写要Excel的数据透视框架时修复标题行

优化在numpy数组中非零值周围创建缓冲区的函数的性能

提取两行之间的标题的常规表达

Python会扔掉未使用的表情吗?

如何在BeautifulSoup中链接Find()方法并处理无?

具有多个选项的计数_匹配

Select 用a和i标签包裹的复选框?

我在使用fill_between()将最大和最小带应用到我的图表中时遇到问题

如何在箱形图中添加绘制线的传奇?

为什么带有dropna=False的groupby会阻止后续的MultiIndex.dropna()工作?

更改键盘按钮进入'

ODE集成中如何终止solve_ivp的无限运行

Pandas GroupBy可以分成两个盒子吗?

在Python中计算连续天数

如何排除prefecture_related中查询集为空的实例?

ruamel.yaml dump:如何阻止map标量值被移动到一个新的缩进行?

Pandas:填充行并删除重复项,但保留不同的值