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

Python 列表按组划分反转奇数组后按位置合并的报错解决

问题修复方案

核心错误原因

  • 你拆分奇偶索引组后直接拼接的操作打乱了组的原有顺序,得到的[偶0, 偶2, 奇1, 奇3]和预期的[偶0, 奇1, 偶2, 奇3]顺序完全不符
  • 代码中fevngps属于未定义变量,直接传入函数会触发类型错误
  • 使用zip_longest时没有对分组列表做解包,无法实现按位置配对不同子列表的元素

修复后完整代码

from itertools import zip_longest

num = 14
grp = 4

# 1. 生成分组列表
lst = list(range(num))
grouped_lst = [lst[i:i+grp] for i in range(0, num, grp)]

# 2. 反转奇数索引的组(索引从0开始计数)
for idx in range(len(grouped_lst)):
    if idx % 2 == 1:
        grouped_lst[idx] = grouped_lst[idx][::-1]

# 3. 按位置合并元素,过滤掉填充的None值
sollst = [[x for x in t if x is not None] for t in zip_longest(*grouped_lst)]

print(sollst)

运行结果

[[0, 7, 8, 13], [1, 6, 9, 12], [2, 5, 10], [3, 4, 11]]

和你预期的输出完全一致。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 15:39:04