এই টিউটোরিয়ালে, আমরা একটি প্রোগ্রাম লিখব যা একই কিগুলোর সাথে ভিন্ন ভিন্ন লিস্টের ভ্যালুগুলো যোগ করবে। স্পষ্ট বোঝার জন্য একটি উদাহরণ দেখা যাক।
ইনপুট
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)]
উপসংহার
যদি টিউটোরিয়ালের বিষয়ে কোনো প্রশ্ন থাকে, তবে কমেন্ট সেকশনে জানান।