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

如何用Pythonic方式按子列表索引分组生成新列表?

Pythonic实现按子列表索引分组生成新列表

最简洁的Pythonic写法就是利用内置的zip()函数配合解包操作符*:

Mainlist = [[1,2,3,4],[1,2,3,4]]
# 按索引分组并转换为列表的列表
grouped_list = [list(item) for item in zip(*Mainlist)]
print(grouped_list)  # 输出: [[1, 1], [2, 2], [3, 3], [4, 4]]

原理说明

  • *Mainlist会把主列表中的所有子列表作为独立参数传递给zip()
  • zip()会自动将所有子列表中相同索引位置的元素配对成元组
  • 最后通过列表推导式把每个元组转换为列表,就得到了期望的分组结果

如果你的子列表长度不一致,zip()会以最短的子列表长度为准截断结果;要是需要保留所有元素(缺失位置用默认值填充),可以用itertools.zip_longest:

from itertools import zip_longest

Mainlist = [[1,2,3,4],[1,2]]
grouped_list = [list(item) for item in zip_longest(*Mainlist, fillvalue=None)]
print(grouped_list)  # 输出: [[1, 1], [2, 2], [3, None], [4, None]]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 07:10:28