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

পাইথন প্রোগ্রাম: টাপল তালিকার মানগুলোর জন্য ইউনিক কী গুনना


ভূমিকা

একটি টাপল তালিকায় (list of tuples) প্রতিটি ইউনিক টাপল কতবার এসেছে তা গুনতে collections.defaultdict বা Counter ব্যবহার করা যায়। এই নিবন্ধে একটি লিস্ট-অফ-লিস্ট-অফ-টাপল স্ট্রাকচার দেখানো হয়েছে যেখানে প্রতিটি ইনার লিস্টে একটু টাপল আছে।

উদাহরণ কোড

import collections

my_result = collections.defaultdict(int)
my_list = [[('Hello', 'Hey')], [('Jane', 'Will')], [('William', 'John')], [('Hello', 'Hey')], [('z', 'q')]]

print("The list of list is :")
print(my_list)

for elem in my_list:
    my_result[elem[0]] += 1  # elem[0] হলো ইনার লিস্টের প্রথম (এবং একমাত্র) টাপল

print("The result is :")
print(my_result)

আউটপুট

The list of list is : [[('Hello', 'Hey')], [('Jane', 'Will')], [('William', 'John')], [('Hello', 'Hey')], [('z', 'q')]]
The result is : defaultdict(, {('Hello', 'Hey'): 2, ('Jane', 'Will'): 1, ('William', 'John'): 1, ('z', 'q'): 1})

ব্যাখ্যা

  • collections.defaultdict(int) একটি ডিকশনারি যা মিসিং কী için ডিফল্ট ভ্যালু ০ রিটার্ন করে।

  • my_list হলো লিস্ট-অফ-লিস্ট, যেখানে প্রতিটি উপ-লিস্টে একটু টাপল আছে।

  • লুপে elem[0] দিয়ে টাপলটি এক্সেস করা হয়েছে এবং তার কাউন্ট বাড়ানো হয়েছে।

  • ফলাফলে ('Hello', 'Hey') ২ বার, বাকিগুলো ১ বার এসেছে।

উন্নত এবং সহজ পদ্ধতি: Counter ব্যবহার

from collections import Counter

# লিস্ট ফ্ল্যাটেন করা (ইনার লিস্ট থেকে টাপল বের করা)
flat_tuples = [elem[0] for elem in my_list]
counts = Counter(flat_tuples)
print(counts)
# Counter({('Hello', 'Hey'): 2, ('Jane', 'Will'): 1, ('William', 'John'): 1, ('z', 'q'): 1})

Counter আরও পাইথনিক এবং সংক্ষিপ্ত।


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

  2. পাইথন প্রোগ্রাম: টাপলে একটি এলিমেন্টের ঘটনার সংখ্যা গণনা

  3. পাইথন প্রোগ্রাম: লিস্ট থেকে অনন্য (Unique) মান প্রিন্ট করা

  4. পাইথন প্রোগ্রাম: মডুলার এক্সপোনেনশিয়েশন (Modular Exponentiation)