gpt4 book ai didi

python - 检查 Python 字典值是否在另一个字典的值中

转载 作者:太空宇宙 更新时间:2023-11-04 03:43:38 26 4
gpt4 key购买 nike

我有两个 python 字典,如果键之间没有任何共同的值,我想返回字典键的组合。有点像:

  1. 对于'a'中的我:
  2. 对于 'b' 中的 j:
  3. 对于 i.items():
  4. 如果 any.j.items() 中有 any.i.items()
  5. 继续
  6. 否则告诉我如何将所有组合配对在一起

假设我的代码如下所示:

a={'dog':['hungry','fun'],'cat':['ugly','old'],'fish':[1,2,'hungry',4]}
b={'raccoon':['ugly',1,3,], 'bird':[18,'hungry'],'cat':['orange','short']}

这会返回

dog+raccoon, dog+cat, cat+bird, cat+cat, fish+cat 

因为这些潜在的配对都没有共同的字典值。如果有人能告诉我如何做到这一点,我将不胜感激。

最佳答案

你可以使用集合:

from itertools import product
pairs = set()
for (ak, av), (bk, bv) in product(a.items(), b.items()):
if not set(av).intersection(set(bv)):
pairs.add("%s+%s" % tuple(sorted([ak, bk])))
print pairs

产生:

set(['bird+cat', 'cat+fish', 'cat+cat', 'cat+dog', 'dog+raccoon'])

如果您首先使用集合而不是列表,这会更有效率。

关于python - 检查 Python 字典值是否在另一个字典的值中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24948721/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com