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

পাইথনে টাপল লিস্টের গ্রুপড সামেশন

এই টিউটোরিয়ালে, আমরা একটি প্রোগ্রাম লিখব যা একই কিগুলোর সাথে ভিন্ন ভিন্ন লিস্টের ভ্যালুগুলো যোগ করবে। স্পষ্ট বোঝার জন্য একটি উদাহরণ দেখা যাক।

ইনপুট

list_one = [('a', 2), ('b', 3), ('c', 5)]
list_two = [('c', 7), ('a', 4), ('b', 2)]

আউটপুট

[('a', 6), ('b', 5), ('c', 12)]

সমস্যা সমাধানের জন্য নিচের ধাপগুলো অনুসরণ করুন।

  • লিস্টগুলো ইনিশিয়ালাইজ করুন।
  • প্রথম লিস্টকে dict ব্যবহার করে ডিকশনারিতে কনভার্ট করুন এবং একটি ভ্যারিয়েবলে স্টোর করুন।
  • দ্বিতীয় লিস্টের ওপর ইটারেট করুন এবং ডিকশনারিতে উপস্থিত কির সাথে সংশ্লিষ্ট ভ্যালু যোগ করুন।
  • ফলাফল প্রিন্ট করুন।

উদাহরণ

# লিস্টগুলো ইনিশিয়ালাইজ
list_one = [('a', 2), ('b', 3), ('c', 5)]
list_two = [('c', 7), ('a', 4), ('b', 2)]
# list_one ডিক্টে কনভার্ট
result = dict(list_one)
# দ্বিতীয় লিস্টের ওপর ইটারেট
for tup in list_two:
    # ডিক্টে কি চেক
    if tup[0] in result:
        result[tup[0]] = result.get(tup[0]) + tup[1]
# ফলাফল টাপল লিস্ট আকারে প্রিন্ট
print(list(result.items()))

আউটপুট

যদি আপনি উপরের কোডটি রান করেন, তবে আপনি নিচের ফলাফল পাবেন।

[('a', 6), ('b', 5), ('c', 12)]

আমরা collections-এর Counter ব্যবহার করে কোনো লিস্টে ইটারেট না করেই উপরের সমস্যা সমাধান করতে পারি। চলুন সেটা দেখি।

উদাহরণ

# collections থেকে Counter ইম্পোর্ট
from collections import Counter
# লিস্টগুলো ইনিশিয়ালাইজ
list_one = [('a', 2), ('b', 3), ('c', 5)]
list_two = [('c', 7), ('a', 4), ('b', 2)]
# ফলাফল পাওয়া
result = Counter(dict(list_one)) + Counter(dict(list_two))
# ফলাফল টাপল লিস্ট আকারে প্রিন্ট
print(list(result.items()))

আউটপুট

যদি আপনি উপরের কোডটি রান করেন, তবে আপনি নিচের ফলাফল পাবেন।

[('a', 6), ('b', 5), ('c', 12)]

উপসংহার

যদি টিউটোরিয়ালের বিষয়ে কোনো প্রশ্ন থাকে, তবে কমেন্ট সেকশনে জানান।

  1. পাইথনে টাপলের লিস্টে টাপল কম্বাইন করা

  2. পাইথনে ডিকশনারি থেকে লিস্ট অফ টাপল কনভার্ট করুন

  3. পাইথনে বাইনারি লিস্টকে ইন্টিজারে রূপান্তর

  4. পাইথনে লিস্ট vs টাপল vs ডিকশনারি পার্থক্য