পদ্ধতি ১: collections.defaultdict
import collections
Alist = [[('Mon','Wed')], [('Mon',)], [('Tue',)], [('Mon','Wed')]]
res = collections.defaultdict(int)
for elem in Alist:
res[elem[0]] += 1
print(res) # defaultdict(, {('Mon','Wed'): 2, 'Mon': 1, 'Tue': 1})
পদ্ধতি ২: Counter + chain
from collections import Counter
from itertools import chain
Alist = [[('Mon','Wed')], [('Mon',)], [('Tue',)], [('Mon','Wed')]]
res = Counter(chain(*Alist))
print(res) # Counter({('Mon', 'Wed'): 2, 'Mon': 1, 'Tue': 1})
ব্যাখ্যা
chain(*Alist): নেস্টেড লিস্ট ফ্ল্যাটেন করে (unpacking)।
Counter: হ্যাশেবল অবজেক্ট (টাপল, স্ট্রিং) কাউন্ট করতে পারে।
defaultdict: ম্যানুয়াল কাউন্টিং, বেশি কন্ট্রোল।
আউটপুট
Counter({('Mon', 'Wed'): 2, 'Mon': 1, 'Tue': 1})