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

如何根据元素字符串内容从Python嵌套列表中移除指定子列表

Python 实现过滤列表的方案

方法1:列表推导式(最简洁,推荐)

直接通过条件过滤生成新列表,代码如下:

watchlist = [['NSE:SHIL',1],['NSE:SOLARA',1],['NSE:LINCOLN',1],['NSE:KITEX',1],['NSE:PPL',1],['NSE:PHILIPCARB',1],['NSE:SARLAPOLY',1],['NSE:PANAMAPET',1],['NSE:RPSGVENT',1]]
# 过滤掉包含'SOLARA'的子列表
watchlist = [item for item in watchlist if 'SOLARA' not in item[0]]

逻辑说明:遍历watchlist的每一个子列表item,只保留第一个元素不包含'SOLARA'的子列表,直接覆盖原变量即可得到目标结果

如果需要更通用的判断(子列表任意位置出现'SOLARA'都移除),可以把条件调整为:

watchlist = [item for item in watchlist if not any('SOLARA' in str(elem) for elem in item)]

方法2:原地修改列表

如果需要直接修改原列表而非生成新列表,可以倒序遍历删除,避免正序遍历的索引错位问题:

watchlist = [['NSE:SHIL',1],['NSE:SOLARA',1],['NSE:LINCOLN',1],['NSE:KITEX',1],['NSE:PPL',1],['NSE:PHILIPCARB',1],['NSE:SARLAPOLY',1],['NSE:PANAMAPET',1],['NSE:RPSGVENT',1]]
for i in range(len(watchlist)-1, -1, -1):
    if 'SOLARA' in watchlist[i][0]:
        del watchlist[i]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 08:06:03