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

পাইথন - লিস্ট সম্বলিত ডিকশনারি তৈরি করার পদ্ধতিগুলো

ডিকশনারির মান হিসেবে লিস্ট রাখা একটি শক্তিশালী প্যাটার্ন, যা মাল্টি-ভ্যালু ম্যাপিং, গ্রুপিং বা অ্যাডজেসেন্সি লিস্ট রিপ্রেজেন্টেশনে কাজে লাগে। নিচে চারটি পদ্ধতি দেখানো হলো।

উদাহরণ

১. সরাসরি অ্যাসাইনমেন্ট

myDict = {}
myDict["key1"] = [1, 2]
myDict["key2"] = ["Vishesh", "For", "Python"]
print(myDict)
# {'key2': ['Vishesh', 'For', 'Python'], 'key1': [1, 2]}

২. এক্সিস্টিং লিস্টে অন্য লিস্ট নেস্ট করা (সাব-লিস্ট)

myDict = {}
myDict["key1"] = [1, 2]
lst = ['vishesh', 'For', 'python']
myDict["key1"].append(lst)  # লিস্টের মধ্যে লিস্ট যোগ
print(myDict)
# {'key1': [1, 2, ['vishesh', 'For', 'python']]}

৩. setdefault() ব্যবহার করে গ্রুপিং (ব্যবহারিক প্যাটার্ন)

myDict = dict()
valList = ['1', '2', '3']

for val in valList:
    for ele in range(int(val), int(val) + 2):
        myDict.setdefault(ele, []).append(val)

print(myDict)
# {1: ['1'], 2: ['1', '2'], 3: ['2', '3'], 4: ['3']}

৪. ডিকশনারি কাম্প্রিহেনশন (সংক্ষিপ্ত)

d = dict((val, range(int(val), int(val) + 2)) for val in ['1', '2', '3'])
print(d)
# {'1': range(1, 3), '3': range(3, 5), '2': range(2, 4)}

সাধারণ ব্যবহার ক্ষেত্রে (Use Cases)

  • গ্রুপিং: defaultdict(list) ব্যবহার করে ক্যাটেগরি অনুযায়ী আইটেম গোষ্ঠী করা।
  • গ্রাফ/অ্যাডজেসেন্সি লিস্ট: নোড -> নেইবার লিস্ট।
  • ইনভার্টেড ইনডেক্স: শব্দ -> ডকুমেন্ট আইডি লিস্ট।

সেরা অনুশীলন: defaultdict ব্যবহার করুন

from collections import defaultdict

# কী না থাকলে স্বয়ংক্রিয়ভাবে খালি লিস্ট তৈরি হয়
grouped = defaultdict(list)
for item in data:
    grouped[item.category].append(item)

# সাধারণ ডিকশনারির মত ব্যবহার করা যায়
print(dict(grouped))
সুবিধা: setdefault বা if key not in dict চেক করার প্রয়োজন নেই। কোড আরও ক্লিন এবং দ্রুত।
  1. Python-এ টেক্সট ফাইল থেকে ডিকশনারি তৈরি করা

  2. পাইথনে খালি ডিকশনারি কীভাবে তৈরি করবেন?

  3. পাইথনে দুটি লিস্ট থেকে ডিকশনারি কীভাবে তৈরি করবেন?

  4. পাইথনে নেস্টেড ডিকশনারি তৈরি করার পদ্ধতি