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

Python如何获取列表中指定元素的行索引以调用pop方法删除对应项

问题根因

你使用list.index('b')报错的核心原因是当前列表为嵌套结构,一级元素是['a']、['b']、['c']三个子列表,并非直接存储'a'、'b'这类字符串。index()方法只会匹配列表的一级元素,自然找不到单独的'b'字符串。


解决方法

方法1:遍历匹配获取索引

通过enumerate遍历列表同时拿到索引和对应子列表,匹配到包含'b'的子列表后记录索引即可:

# 不要用list作为变量名,这里替换为my_list避免覆盖内置类型
my_list = [
    ['a'],
    ['b'],
    ['c']
]

# 查找目标索引
target_index = None
for idx, item in enumerate(my_list):
    # 如果子列表固定为单元素,也可以写 if item == ['b'] 匹配更精准
    if 'b' in item:
        target_index = idx
        break

# 执行删除
if target_index is not None:
    my_list.pop(target_index)

方法2:生成器表达式简化写法

如果确定'b'一定存在于某个子列表中,可以用生成器表达式一行获取索引:

target_index = next(idx for idx, item in enumerate(my_list) if 'b' in item)
my_list.pop(target_index)

注意事项

不要使用list作为自定义变量名,list是Python的内置列表类型关键字,重名会覆盖其原有功能,容易引发后续不可预知的错误。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 18:15:04