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

如何修正代码实现列表按每两个连续元素分组为嵌套列表?

修正列表分组代码的问题

需求:将列表["a", "b", "c", "d", "e", "f", "g"]转换为嵌套列表,每两个连续元素分为一个子列表;若剩余单个元素,则单独作为一个子列表,预期结果为[["a", "b"], ["c", "d"], ["e", "f"], ["g"]]。

你的代码问题出在额外添加的if处理块上——切片操作original_list[i:i+2]本身就完美适配你的需求:

  • 当i对应的位置有两个元素时,切片返回包含两个元素的子列表
  • 当列表长度为奇数,最后一次循环时i指向最后一个元素,i+2超出列表长度,切片会自动返回仅包含该单个元素的子列表

直接去掉多余的if逻辑即可得到正确结果:

original_list = ["a", "b", "c", "d", "e", "f", "g"]
nested_list = []

for i in range(0, len(original_list), 2):
    sublist = original_list[i:i+2]
    nested_list.append(sublist)

print(nested_list)

输出结果:[['a', 'b'], ['c', 'd'], ['e', 'f'], ['g']]

再测试["a", "b", "c"]的情况:

original_list = ["a", "b", "c"]
nested_list = []

for i in range(0, len(original_list), 2):
    sublist = original_list[i:i+2]
    nested_list.append(sublist)

print(nested_list)

输出结果:[['a', 'b'], ['c']],完全符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 19:25:29