ls1 = [['b', (1, 1)], ['b', (1, 2)], ['b', (1, 3)], ['c', (2, 1)], ['c', (2, 2)]]
ls2 = ['A', 'B']
from itertools import groupby
key = lambda x: x[1][0]
lens = [len(list(g)) for k, g in groupby(sorted(ls1, key=key), key=key)]
dct = dict(zip(ls2, lens))
私の出力は次のようになります
{'A': 3, 'B': 2}
コードの最後の行でdictを使用する代わりに、
d2 = defaultdict(list)
次に、d2で同じ出力を取得するにはどうすればよいですか?