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

如何遍历字典内列表并找出两列表的非共有元素

解决方案

思路

利用集合的差集运算快速定位仅存在于单个列表中的元素——集合差集会返回所有属于当前集合但不属于对比集合的元素,完美匹配需求。

代码实现

# 定义给定的字典
data = {
    'ABC-01': ['aaa', 'bbb', 'ccc', 'ddd'],
    'ABC-02': ['aaa', 'bbb', 'ccc', 'eee']
}

# 将两个列表转为集合,简化集合运算
set1 = set(data['ABC-01'])
set2 = set(data['ABC-02'])

# 计算各自独有的元素
unique_01 = set1 - set2
unique_02 = set2 - set1

# 按指定格式输出结果
for item in unique_01:
    print(f"ABC-01 contains {item}")
for item in unique_02:
    print(f"ABC-02 contains {item}")

运行结果

ABC-01 contains ddd
ABC-02 contains eee

扩展说明

如果字典包含多个键值对,想要找出每个列表相对于其他所有列表的独有元素,可以遍历每个键,对比当前列表与所有其他列表的并集的差集:

data = {
    'ABC-01': ['aaa', 'bbb', 'ccc', 'ddd'],
    'ABC-02': ['aaa', 'bbb', 'ccc', 'eee'],
    'ABC-03': ['aaa', 'fff', 'ggg']
}

# 合并所有列表元素为总集合
all_items = set()
for lst in data.values():
    all_items.update(lst)

for key, lst in data.items():
    current_set = set(lst)
    # 计算当前列表独有的元素
    unique = current_set - (all_items - current_set)
    for item in unique:
        print(f"{key} contains {item}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 19:51:20