Python - Nested Dictionaries

পাইথন - নেস্টেড অভিধান

নেস্টেড অভিধান

একটি অভিধানে অভিধান থাকতে পারে, যাকে বলা হয় নেস্টেড অভিধান।

উদাহরণ

তিনটি অভিধান সহ একটি অভিধান তৈরি করুন:

myfamily = {
  "child1" : {
    "name" : "Emil",
    "year" : 2004
  },
  "child2" : {
    "name" : "Tobias",
    "year" : 2007
  },
  "child3" : {
    "name" : "Linus",
    "year" : 2011
  }
}

উদাহরণ

অথবা, আপনি যদি একটি নতুন অভিধানে তিনটি অভিধান যোগ করতে চান:

তিনটি অভিধান তৈরি করুন, তারপর অন্য তিনটি অভিধান সমন্বিত একটি অভিধান তৈরি করুন:

child1 = {
  "name" : "Emil",
  "year" : 2004
}
child2 = {
  "name" : "Tobias",
  "year" : 2007
}
child3 = {
  "name" : "Linus",
  "year" : 2011
}

myfamily = {
  "child1" : child1,
  "child2" : child2,
  "child3" : child3
}

নেস্টেড অভিধানে আইটেম অ্যাক্সেস করা

একটি নেস্টেড অভিধান থেকে আইটেমগুলি অ্যাক্সেস করতে, বাইরের অভিধান দিয়ে শুরু করুন এবং অভিধানগুলির নাম ব্যবহার করুন:

উদাহরণ

শিশু 2 এর নাম প্রিন্ট করুন:

print(myfamily["child2"]["name"])

নেস্টেড অভিধানের মাধ্যমে চক্র করতে

এই ভাবেitems()আপনি পদ্ধতিটি ব্যবহার করে একটি অভিধানের মাধ্যমে লুপ করতে পারেন:

উদাহরণ

সমস্ত নেস্টেড ডিকশনারির কী এবং মানগুলির মধ্যে দিয়ে চক্র করতে:

for x, obj in myfamily.items():
  print(x)

  for y in obj:
    print(y + ':', obj[y])

🔍বর্ণনা:

এই লুপটি প্রথমে বাইরের অভিধানের প্রতিটি কী-মান জোড়া, তারপর ভিতরের অভিধানের প্রতিটি কী-মানের জোড়া অ্যাক্সেস করে।

অনুশীলন করুন

এই সিনট্যাক্স বিবেচনা করুন:

a = {'name' : 'John', 'age' : '20'}
b = {'name' : 'May', 'age' : '23'}
customers = {'c1' : a, 'c2' : b}

'মে' নামটি মুদ্রণের জন্য সঠিক বাক্য গঠন কী?

print(customers['c2']['name'])
✓ ঠিক আছে! এটি একটি নেস্টেড অভিধান অ্যাক্সেস করার জন্য সঠিক সিনট্যাক্স
print(customers.c2.b['name'])
✗ ভুল! পাইথন অভিধানে ডট নোটেশন উপযোগী নয়
print(customers.c2.name)
✗ ভুল! অভিধানের আইটেমগুলি অ্যাক্সেস করতে বর্গাকার বন্ধনী স্বরলিপি ব্যবহার করা হয়