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

如何将嵌套列表拆分为按每两个元素分组的多层嵌套列表?

嵌套列表按每两个元素分组的实现方法

首先修正你给出的目标结果,正确的格式应该是:

Nested_list = [[[a, b], [c, d]], [[e, f], [g, h]], [[i, j], [k, l]]]

方法一:列表推导式(简洁高效)

直接通过嵌套列表推导式完成分组,核心是对每个子列表按步长2截取元素:

mylist = [['a', 'b', 'c', 'd'], ['e', 'f', 'g', 'h'], ['i', 'j', 'k', 'l']]
nested_list = [[sublist[i:i+2] for i in range(0, len(sublist), 2)] for sublist in mylist]
print(nested_list)

运行结果:

[[['a', 'b'], ['c', 'd']], [['e', 'f'], ['g', 'h']], [['i', 'j'], ['k', 'l']]]

方法二:for循环实现(分步清晰)

如果你想用for循环完成,需要遍历每个子列表,再对每个子列表按步长2拆分后添加到新列表中:

mylist = [['a', 'b', 'c', 'd'], ['e', 'f', 'g', 'h'], ['i', 'j', 'k', 'l']]
nested_list = []
for sublist in mylist:
    grouped = []
    # 按步长2遍历子列表的索引
    for i in range(0, len(sublist), 2):
        grouped.append(sublist[i:i+2])
    nested_list.append(grouped)
print(nested_list)

这段代码和列表推导式逻辑一致,只是用显式循环实现,更容易理解每一步操作。你之前用for循环无效,大概率是没正确处理内层分组的追加逻辑——比如忘记为每个子列表创建新的分组列表,或者索引步长设置错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 23:40:36