You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Python嵌套for循环转为列表推导式?附多维列表展平案例

展平多维列表的列表推导式实现

你已经用嵌套for循环实现了三维列表的展平,要转换为列表推导式,核心是保持for循环的嵌套顺序和原代码一致,结构为:[要收集的元素 for 外层循环变量 in 外层可迭代对象 for 中层循环变量 in 中层可迭代对象 for 内层循环变量 in 内层可迭代对象]

对应原循环的推导式

原嵌套循环的执行顺序是:遍历f_list → 遍历每个sublist → 遍历每个subsublist → 收集元素i。直接对应到列表推导式就是:

f_list = [[[1, 2, 3]], [[4, 5, 6]], [[7, 8, 9]]]
new_l = [i for sublist in f_list for subsublist in sublist for i in subsublist]
print(new_l)  # 输出: [1, 2, 3, 4, 5, 6, 7, 8, 9]

逻辑对应说明

  • 原代码中最外层的for sublist in f_list,放在推导式的第一个for位置
  • 中层的for subsublist in sublist,放在第二个for位置
  • 最内层的for i in subsublist,放在第三个for位置
  • 最前面的i就是原循环中append(i)的元素,也就是最终要收集的内容

这种写法完全复刻了嵌套循环的执行逻辑,只是把多行循环压缩成了一行推导式。

内容的提问来源于stack exchange,提问作者devuser

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 11:06:24