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

如何遍历元组列表的首个元素并删除包含指定关键词的对应元组

错误原因

原始代码失效的核心原因是遍历列表的同时直接删除列表元素:Python的for循环迭代列表时会按顺序读取索引,删除元素后列表长度变短,后续元素的索引会整体前移,导致部分元素被跳过未校验,自然无法全部删除符合条件的元组。

推荐实现方案

最简洁稳定的方式是使用列表推导式生成符合要求的新列表,完全规避修改原列表带来的索引异常问题:

# 保留短语中不包含blue、dark的元组
filtered_list = [item for item in Example if 'blue' not in item[0] and 'dark' not in item[0]]

原地修改原列表的方案

如果业务要求必须在原列表上修改而非生成新列表,可以选择倒序遍历的方式实现:倒序删除时,未遍历的前半部分元素索引不会受后半部分删除操作的影响,不会出现漏删问题。

# 从最后一个索引倒序遍历到第一个索引
for i in range(len(Example) - 1, -1, -1):
    phrase = Example[i][0]
    if 'blue' in phrase or 'dark' in phrase:
        del Example[i]

内容的提问来源于stack exchange,提问作者Enikő Várkonyi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 19:06:03