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

Python如何查找嵌套列表在所属父列表中的索引位置

报错原因

x.index(list)写法不成立的核心逻辑是:list是Python内置的列表类型对象,而list.index()方法要求传入的是你需要匹配的元素值,而非元素的类型,程序无法在列表中找到值等于list类的元素,自然触发ValueError报错。

解决方案

根据你的需求分为两种场景:

场景1:仅需获取第一个嵌套列表的索引

通过enumerate遍历父列表,配合类型判断即可实现:

x = [12.011, [1.007, 2, 15.999], 4]
target_idx = None
for idx, item in enumerate(x):
    if isinstance(item, list):
        target_idx = idx
        break
print(target_idx) # 输出 1

场景2:获取所有嵌套列表的索引(适配多嵌套列表的通用场景)

用列表推导式实现,输出格式直接匹配你期望的列表格式:

x = [12.011, [1.007, 2, 15.999], 4]
all_list_indexes = [idx for idx, item in enumerate(x) if isinstance(item, list)]
print(all_list_indexes) # 输出 [1]

额外说明

如果你需要匹配的是特定值的列表而非所有列表类型的元素,直接把目标列表作为参数传给index方法即可,不需要额外遍历:

x = [12.011, [1.007, 2, 15.999], 4]
print(x.index([1.007, 2, 15.999])) # 输出 1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 16:48:04