Python – دیکشنریهای تو در تو (Nested Dictionaries)
دیکشنریهای تو در تو (Nested Dictionaries) در پایتون
در پایتون، شما میتوانید دیکشنریهایی داشته باشید که شامل دیکشنریهای دیگر باشند. این نوع ساختار را “دیکشنری تو در تو” مینامند.
مثال: ساخت یک دیکشنری که شامل سه دیکشنری دیگر است
myfamily = {
"child1" : {
"name" : "Emil",
"year" : 2004
},
"child2" : {
"name" : "Tobias",
"year" : 2007
},
"child3" : {
"name" : "Linus",
"year" : 2011
}
}
در این مثال، myfamily
یک دیکشنری است که شامل سه دیکشنری دیگر به نامهای child1
، child2
و child3
میباشد.
یا، اگر میخواهید سه دیکشنری را به یک دیکشنری جدید اضافه کنید:
ابتدا سه دیکشنری جداگانه ایجاد میکنید و سپس آنها را در یک دیکشنری دیگر قرار میدهید.
child1 = {
"name" : "Emil",
"year" : 2004
}
child2 = {
"name" : "Tobias",
"year" : 2007
}
child3 = {
"name" : "Linus",
"year" : 2011
}
myfamily = {
"child1" : child1,
"child2" : child2,
"child3" : child3
}
در این مثال، دیکشنریهای child1
، child2
و child3
به دیکشنری myfamily
اضافه شدهاند.
دسترسی به آیتمها در دیکشنریهای تو در تو
برای دسترسی به آیتمهای یک دیکشنری تو در تو، باید از نام دیکشنریها استفاده کنید، از دیکشنری بیرونی شروع کرده و به دیکشنریهای داخلی بروید.
مثال:
چاپ نام child2
:
print(myfamily["child2"]["name"])
در اینجا، ابتدا به myfamily
و سپس به child2
و در نهایت به کلید name
دسترسی پیدا کردهایم.
حلقه زدن در دیکشنریهای تو در تو
میتوانید با استفاده از متد items()
در یک دیکشنری تو در تو حلقه بزنید و به کلیدها و مقادیر دیکشنریهای داخلی دسترسی پیدا کنید.
مثال:
حلقه زدن در کلیدها و مقادیر همه دیکشنریهای تو در تو:
for x, obj in myfamily.items():
print(x)
for y in obj:
print(y + ':', obj[y])
در این مثال، ابتدا در myfamily
حلقه زده و سپس در هر دیکشنری داخلی (child1
، child2
، child3
) حلقه میزنیم تا تمام کلیدها و مقادیر را چاپ کنیم.
برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید. صفحه ورود و ثبت نام