www说
您可以将列表的字典转换为集合的字典,以便您可以对返回的两个用户的每个组合使用集合交集itertools.combinations来查找他们的共同朋友,并形成一个由用户对的frozensets索引的集合字典:from itertools import combinationsu = {k: set(l) for k, l in users.items()}{frozenset((a, b)): u[a] & u[b] for a, b in combinations(u, 2)}这将返回:{frozenset({'b', 'a'}): {'c', 'd'}, frozenset({'a', 'c'}): {'b'}, frozenset({'a', 'd'}): {'b', 'e'}, frozenset({'a', 'e'}): {'d'}, frozenset({'b', 'c'}): {'a'}, frozenset({'b', 'd'}): {'a'}, frozenset({'b', 'e'}): {'a', 'd'}, frozenset({'c', 'd'}): {'b', 'a'}, frozenset({'c', 'e'}): {'a'}, frozenset({'e', 'd'}): {'a'}}