这会产生 3 个列表之间元组频率的计数,是否可以通过直接计数而不是增量计数(不是+=)来完成?
为了澄清起见,我想解决必须使用+=并直接将计数应用于相应对来增加每次迭代的键值
from collections import defaultdict
from itertools import combinations
dd = defaultdict(int)
L1 = ["cat", "toe", "man"]
L2 = ["cat", "toe", "ice"]
L3 = ["cat", "hat", "bed"]
for L in [L1, L2, L3]:
for pair in map(frozenset, (combinations(L, 2))):
dd[pair] += 1
defaultdict(int,
{frozenset({'cat', 'toe'}): 2,
frozenset({'cat', 'man'}): 1,
frozenset({'man', 'toe'}): 1,
frozenset({'cat', 'ice'}): 1,
frozenset({'ice', 'toe'}): 1,
frozenset({'cat', 'hat'}): 1,
frozenset({'bed', 'cat'}): 1,
frozenset({'bed', 'hat'}): 1})
波斯汪
相关分类