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

如何依据另一元组列表的键移除元组列表中的键值对?

移除目标元组列表中指定键对应的项

给定两个元组列表,需要从目标列表list_tuple里移除所有键存在于list_tuple_keys中的元组,最终得到示例中的结果。

实现代码

先提取需要移除的键到集合中(集合查询效率更高),再通过列表推导式过滤目标列表:

list_tuple = [('NHR', 153.065), ('BHS', 153.179), ('KMH', 153.393), ('DRR', 287.987), ('SSW', 487.294), ('EOF', 546.972), ('LHM', 687.54)]
list_tuple_keys = [('DRR', 'Error time'), ('EOF', 'Error time'), ('LHM', 'Error time'), ('SSW', 'Error time')]

# 提取要移除的键集合
keys_to_remove = {key for key, _ in list_tuple_keys}
# 过滤目标列表
filtered_list = [item for item in list_tuple if item[0] not in keys_to_remove]

print(filtered_list)
# 输出: [('NHR', 153.065), ('BHS', 153.179), ('KMH', 153.393)]

说明

  • 用集合存储要移除的键,是因为集合的成员查询操作时间复杂度为O(1),相比列表的O(n),在数据量较大时能显著提升效率。
  • 列表推导式简洁高效,直接遍历目标列表并保留不在移除键集合中的项。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 12:10:44