কম্পিউটার টিউটোরিয়াল

পাইথনে টাপলে লিস্টের সব এলিমেন্টের আকারেন্স কাউন্ট করা (Count occurrence of all list elements in tuple)


পদ্ধতি ১: Counter + sum()

from collections import Counter
Atup = ('Mon', 'Wed', 'Mon', 'Tue', 'Thu')
Alist = ['Mon', 'Thu']
cnt = Counter(Atup)
res = sum(cnt[x] for x in Alist)
print(res)  # 3 (Mon:2, Thu:1)

পদ্ধতি ২: sum() + জেনারেটর (set দিয়ে অপ্টিমাইজ)

Atup = ('Mon', 'Wed', 'Mon', 'Tue', 'Thu')
Alist = ['Mon', 'Thu', 'Mon']
Alist = set(Alist)  # ডুপ্লিকেট সরিয়ে দেয়
res = sum(1 for x in Atup if x in Alist)
print(res)  # 3

ব্যাখ্যা

  • Counter: টাপলের ফ্রিকোয়েন্সি ম্যাপ বানাতে দ্রুত; লিস্টের এলিমেন্ট অনুযায়ী সাম করতে পারে।
  • sum + generator: টাপল ট্রাভার্স করে লিস্টের সদস্যতা চেক করে; set(Alist) দিয়ে O(1) লুকআপ।
  • লিস্টে ডুপ্লিকেট থাকলে পদ্ধতি ১ সঠিক (ফ্রিকোয়েন্সি গুণফল), পদ্ধতি ২ ইউনিক মেম্বারশিপ চেক করে।

আউটপুট

3
  1. পাইথনে collections মডিউলের Counter দিয়ে অ্যারে এলিমেন্টের ফ্রিকোয়েন্সি গণনা

  2. পাইথনে অ্যারেতে ডিস্টিনক্ট এলিমেন্ট গণনা

  3. পাইথন প্রোগ্রাম: টাপল (Tuple) আসা পর্যন্ত লিস্টের এলিমেন্ট গণনা

  4. পাইথন টাপলে এলিমেন্ট অ্যাপেন্ড কীভাবে করবেন?