python - 查找字典值列表的交集

标签 python dictionary

我有两个具有相同键的字典,但值不同:

a = {1: [1, 2, 3, 4, 5], 2: [6, 7, 8], 3: [1, 3, 5, 7, 9]}
b = {1: [2, 3, 4, 7], 2: [6, 7], 3: [1, 3, 15, 10]}

我正在尝试在相同的键下获得交集。我想要这个输出:

{1: [2, 3, 4], 2: [6, 7], 3: [1, 3]}

我尝试使用此命令:

dict(zip(a.keys() and b.keys(), a.values() and b.values()))
output: {1: [2, 3, 4, 7], 2: [6, 7], 3: [1, 3, 15, 10]}

但是,输出如下,这是错误的:

{1: [2, 3, 4, 7], 2: [6, 7], 3: [1, 3, 15, 10]}

最佳答案

我觉得说的很清楚了。如果没有,请要求澄清。

假设,

I have two dictionaries with the same keys

a = {1: [1, 2, 3, 4, 5], 2: [6, 7, 8], 3: [1, 3, 5, 7, 9]}
b = {1: [2, 3, 4, 7], 2: [6, 7], 3: [1, 3, 15, 10]}
c = {}

for key, val in a.items():
    c[key] = []
    for i in val:
        if i in b[key]:
            c[key].append(i)

print(c)

输出为:

{1: [2, 3, 4], 2: [6, 7], 3: [1, 3]}

关于python - 查找字典值列表的交集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61092058/

相关文章:

python - 根据 .CSV 文件中字典键的出现次数进行计数

具有命名/标记类型的 C# 字典

python - 使用区分大小写和不区分大小写的混合模式的正则表达式查找文本中使用的人称代词的数量

python - Python Flask 中用于验证用户 session 的全局函数

python - 读取数据时pygrib GRIB2段错误

python - 在字典列表中合并相同键的值

python - Mysql连接池问题: is it worth it?

python - Networkx 的有效学位序列是什么

python - 如果 python 中的字典是可变的,为什么编辑第二个字典中包含的字典不会更改第二个字典?

ios - 不能分配给任何对象类型的不可变表达式