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

Python比较元组列表与普通列表 返回元组第二项不在列表中的元组

Python 元组列表筛选实现

需求说明

从元组列表中,筛选出元组第二个元素未在给定普通列表中出现的所有元组。

示例输入

# 待筛选的元组列表
listTuple =  [('IN', 'OS19014'), ('CA', 'OS0001'), ('GB', 'OS0002'), ('CA', 'OS0003')]
# 用于对比的普通列表
normalList = ['OS19014', 'OS0001', 'OS0002']

预期输出

[('CA', 'OS0003')]

实现代码

推荐先将普通列表转为集合优化查询效率,集合的成员查询时间复杂度为O(1),远高于列表的O(n),数据量越大性能优势越明显。

写法1:列表推导式(最简洁常用)

normal_set = set(normalList)
result = [item for item in listTuple if item[1] not in normal_set]

写法2:filter 函数写法

normal_set = set(normalList)
result = list(filter(lambda x: x[1] not in normal_set, listTuple))

两种写法执行后打印result都可以得到预期输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 01:36:05