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

如何用Python列表推导式生成扁平的二元组列表而非嵌套结构?

解决方案

你可以用双层循环的列表推导式直接生成扁平结构,不需要嵌套:

mylist = [(f'{factor}i_{i}', factor * i) for i in range(1, 4) for factor in (2, 8)]

运行后得到的结果就是你想要的扁平列表:

[('2i_1', 2), ('8i_1', 8), ('2i_2', 4), ('8i_2', 16), ('2i_3', 6), ('8i_3', 24)]

原理说明

这个写法相当于把原来每个i对应的两个二元组拆开来,逐个添加到最终列表里:

  • 外层循环遍历i从1到3
  • 内层循环遍历因子(2,8),每次循环生成一个二元组,直接加入大列表,不会产生嵌套结构

如果你不想重复写逻辑,也可以先定义每个i对应的二元组集合,再用列表推导式展开:

mylist = [item for i in range(1,4) for item in ((f'2i_{i}',2*i), (f'8i_{i}',8*i))]

这个写法和第一种效果一致,只是把每个i对应的两个二元组提前打包成一个元组,再通过内层循环逐个取出。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 22:42:18