我有一个三元组的列表(里面有一些重复项),我需要将此列表变成字典中的字典。
第一个字典将元组的前两个元素作为键,而内部字典将最后一个元素作为键。
示例:
Input : [('a','b','c'), ('a','b','c'), ('a','b','d'), ('b','c','d')]
Output : {('a','b') : {'c' : 2, 'd' : 1}, ('b','c') : {'d' : 1}}
我有“人类”版本:
from collections import defaultdict
def count(list_tupl):
topdict = defaultdict(lambda: defaultdict(int))
for tup in list_tupl :
topdict [tup[:2]][tup[2]] += 1
return topdict
但是我正在寻找具有dict理解能力的更pythonic版本。 有人可以帮我吗?