সমস্যা বিবরণ
(key, value) পেয়ার ধারণকারী টাপলের লিস্টকে ডিকশনারিতে কনভার্ট করতে হবে।
উদাহরণ
tuples = [('Key 1', 1), ('Key 2', 2), ('Key 3', 3), ('Key 4', 4), ('Key 5', 5)]
# সরাসরি dict() কনস্ট্রাক্টর
result = dict(tuples)
print(result)
# {'Key 1': 1, 'Key 2': 2, 'Key 3': 3, 'Key 4': 4, 'Key 5': 5}
ডুপ্লিকেট কী হ্যান্ডলিং
যদি ডুপ্লিকেট কী থাকে, dict() লাস্ট ভ্যালু রাখে।
এক্সটেনশন: ভ্যালু হিসেবে লিস্ট (setdefault ব্যবহার করে)
যদি একই কী একাধিকবার আসে এবং সব ভ্যালু লিস্টে রাখতে চান:
tuples = [('Key 1', 1), ('Key 2', 2), ('Key 3', 3), ('Key 4', 4), ('Key 5', 5)]
result = {}
for key, value in tuples:
result.setdefault(key, []).append(value)
print(result)
# {'Key 1': [1], 'Key 2': [2], 'Key 3': [3], 'Key 4': [4], 'Key 5': [5]}
setdefault ব্যাখ্যা
result.setdefault(key, [])— কী না থাকলে খালি লিস্ট সেট করে এবং সেই লিস্ট রিটার্ন করে.append(value)— রিটার্ন করা লিস্টে ভ্যালু অ্যাপেন্ড করে- এক লাইনে দুটি কাজ হয়
বিকল্প: defaultdict
from collections import defaultdict
result = defaultdict(list)
for key, value in tuples:
result[key].append(value)
print(dict(result))
উপসংহার
- সিম্পল কনভার্সনের জন্য
dict(tuples)ব্যবহার করুন - ডুপ্লিকেট কী হ্যান্ডল করতে
setdefaultবাdefaultdict(list)ব্যবহার করুন defaultdictবেশি পাইথনিক এবং পড়া সহজ