1 回答

TA貢獻(xiàn)1775條經(jīng)驗 獲得超8個贊
您可以將列表的字典轉(zhuǎn)換為集合的字典,以便您可以對返回的兩個用戶的每個組合使用集合交集itertools.combinations來查找他們的共同朋友,并形成一個由用戶對的frozensets索引的集合字典:
from itertools import combinations
u = {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'}}
添加回答
舉報