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

Python嵌套列表索引报错TypeError: list indices must be integers or slices,not tuple

错误原因

你定义的boxes_preds是Python原生嵌套列表,原生列表不支持...(省略号对象)搭配逗号分隔的多维索引语法。
当你写boxes_preds[..., 0:1]时,Python会把方括号里逗号分隔的两个内容打包成元组(Ellipsis, slice(0, 1))传给列表的索引方法,而原生列表的索引只接受整数、单个切片类型的参数,识别不了元组类型的索引,就会抛出你看到的TypeError: list indices must be integers or slices, not tuple报错。
注:...多维切片是NumPy数组、PyTorch张量这类专门做多维数值计算的数据结构才支持的语法,不能直接套在原生列表上用。

修改方案

根据实际需求选对应写法即可:

  • 如果要保留原生Python列表结构,用列表推导式遍历每个子列表做切片,就能实现和预期索引一致的效果:
boxes_preds = [[1, 300, 400, 250, 350],[0, 450, 150, 500, 420]]
res = [item[0:1] for item in boxes_preds]
print(res)
# 运行输出:[[1], [0]]
  • 如果你后续还要频繁使用类似的多维索引操作做数值计算,直接把列表转成NumPy数组就可以沿用原来的写法:
import numpy as np

boxes_preds = np.array([[1, 300, 400, 250, 350],[0, 450, 150, 500, 420]])
print(boxes_preds[..., 0:1])
"""
运行输出:
[[1]
 [0]]
"""

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 23:33:20