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

পাইথন প্রোগ্রাম: লিস্ট থেকে ডিকশনারি তৈরি করা

একটি লিস্ট থেকে ডিকশনারি তৈরি করার জন্য dict(), ইটারেশন এবং setdefault() মেথড ব্যবহার করা যেতে পারে। এই উদাহরণে প্রতিটি মানকে কি হিসেবে এবং এর পরের মানকে ভ্যালু হিসেবে ব্যবহার করা হয়েছে।

উদাহরণ

my_dict = {}
my_value_list = ['15', '14', '13', '12', '16']

print("মূল লিস্ট:", my_value_list)
my_value_list.sort()
print("সর্ট করা লিস্ট:", my_value_list)

for value in my_value_list:
    val_int = int(value)
    # val_int এবং val_int+1 কে কি হিসেবে ব্যবহার করে value অ্যাপেন্ড
    my_dict.setdefault(val_int, []).append(value)
    my_dict.setdefault(val_int + 1, []).append(value)

print("ফলাফল ডিকশনারি:")
print(my_dict)

আউটপুট

মূল লিস্ট: ['15', '14', '13', '12', '16']
সর্ট করা লিস্ট: ['12', '13', '14', '15', '16']
ফলাফল ডিকশনারি:
{12: ['12'], 13: ['12', '13'], 14: ['13', '14'], 15: ['14', '15'], 16: ['15', '16'], 17: ['16']}

ব্যাখ্যা

  • setdefault(key, []) — কি না থাকলে খালি লিস্ট তৈরি করে, থাকলে বিদ্যমান লিস্ট ফেরত দেয়
  • প্রতিটি মান value কে দুটি কি (val এবং val+1) এর অধীনে অ্যাপেন্ড করা হয়েছে
  • এটি একটি ওভারল্যাপিং ম্যাপিং তৈরি করে

সাধারণ ডিকশনারি তৈরির অন্যান্য পদ্ধতি

# ১. enumerate দিয়ে ইন্ডেক্স-ভ্যালু ম্যাপ
my_list = ['a', 'b', 'c']
d1 = {i: v for i, v in enumerate(my_list)}
# {0: 'a', 1: 'b', 2: 'c'}

# ২. জিপ দিয়ে দুটি লিস্ট থেকে
keys = ['a', 'b', 'c']
vals = [1, 2, 3]
d2 = dict(zip(keys, vals))
# {'a': 1, 'b': 2, 'c': 3}

# ৩. fromkeys দিয়ে ডিফল্ট ভ্যালু
d3 = dict.fromkeys(['a', 'b', 'c'], 0)
# {'a': 0, 'b': 0, 'c': 0}
  1. পাইথনে অন্য ডিকশনারির ভ্যালু থেকে ডিকশনারি তৈরি করা

  2. পাইথনে কী এবং ভ্যালু লিস্ট থেকে ডিকশনারি কীভাবে তৈরি করবেন?

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

  4. পাইথন ডিকশনারি থেকে সব কী-এর লিস্ট কীভাবে পাবেন?