
دیکشنری ها یکی از ساختارهای داده داخلی در پایتون هستند. می توانید از آنها برای ذخیره داده ها در جفت های کلید-مقدار استفاده کنید.
میتوانید در مورد روشهای مختلفی که میتوانید برای دسترسی، تغییر، گفت ن و حذف عناصر در فرهنگ لغت استفاده کنید، اینجا بخوانید.
در این مقاله، نحوه ادغام دو دیکشنری را با استفاده از موارد زیر خواهید آموخت:
متد update()
.
عملگر دوتایی ستاره/ستاره ( **
).
chain()
.
متد ChainMap()
عملگر ادغام ( |
).
عملگر به روز رسانی ( |=
).
نحوه ادغام دو دیکشنری در پایتون
در این بخش، روشهای مختلفی را که میتوانید برای ادغام دیکشنریها در پایتون استفاده کنید، همراه با نمونههای کد مورد بحث قرار میدهیم.
تمام نمونه هایی که در این مقاله خواهید دید شامل ادغام دو فرهنگ لغت می شود، اما می توانید هر تعداد که می خواهید ادغام کنید.
نحوه ادغام دو دیکشنری در پایتون با استفاده از متد update()
متد update()
یک متد داخلی است که می توانید از آن برای گفت ن داده به دیکشنری ها استفاده کنید.
فرهنگ لغت زیر را در نظر بگیرید:
devBio = { "name": "Ihechikara", "age": 500, "language": "Python" } devBio.update({"role": "Technical Writer"}) print(devBio) # {'name': 'Ihechikara', 'age': 500, 'language': 'Python', 'role': 'Technical Writer'}
در کد بالا، دیکشنری به نام devBio
با سه جفت کلید و مقدار ایجاد کردیم: {'name': 'Ihechikara', 'age': 50, 'language': 'Python'}
.
با استفاده از متد update()
یک جفت کلید و مقدار دیگر اضافه کردیم: devBio.update({"role": "Technical Writer"})
.
به همین ترتیب، میتوانیم دو دیکشنری را با ارسال یک دیکشنری دیگر به عنوان پارامتر به متد update()
ادغام کنیم. در اینجا یک مثال است:
devBio = { "name": "Ihechikara", "age": 500, "language": "Python" } tools = { "dev environment": "JupyterLab", "os": "Windows", "visualization": "Matplotlib" } devBio.update(tools) print(devBio) # {'name': 'Ihechikara', 'age': 500, 'language': 'Python', 'dev environment': 'JupyterLab', 'os': 'Windows', 'visualization': 'Matplotlib'}
در کد بالا، ما دو فرهنگ لغت ایجاد کردیم - devBio
و tools
.
با استفاده از متد update()
، جفتهای کلید و مقدار فرهنگ لغت tools
را با فرهنگ لغت devBio
ادغام کردیم: devBio.update(tools)
.
دیکشنری های ادغام شده به این شکل بودند:
{ 'name': 'Ihechikara', 'age': 500, 'language': 'Python', 'dev environment': 'JupyterLab', 'os': 'Windows', 'visualization': 'Matplotlib' }
نحوه ادغام دو دیکشنری در پایتون با استفاده از عملگر دو ستاره ( **
)
می توانید از عملگر ستاره دوتایی (که ستاره دوگانه نیز نامیده می شود) ( **
) برای "باز کردن بسته بندی" و ادغام جفت کلید و مقدار دو یا چند دیکشنری در یک متغیر استفاده کنید.
در اینجا یک مثال کد است:
devBio = { "name": "Ihechikara", "age": 500, "language": "Python" } tools = { "dev environment": "JupyterLab", "os": "Windows", "visualization": "Matplotlib" } merged_bio = { **devBio, **tools} print(merged_bio) # {'name': 'Ihechikara', 'age': 500, 'language': 'Python', 'dev environment': 'JupyterLab', 'os': 'Windows', 'visualization': 'Matplotlib'}
در کد بالا، دیکشنریهای devBio
و tools
را با استفاده از عملگر دو ستاره باز کردیم: { **devBio, **tools}
.
سپس آنها را در متغیری به نام merged_bio
ذخیره کردیم.
نحوه ادغام دو دیکشنری در پایتون با استفاده از روش chain()
متد chain()
چندین شیء قابل تکرار را به عنوان پارامتر خود می گیرد. ادغام می شود و اشیاء را به عنوان یک شیء تکرارپذیر برمی گرداند.
قبل از استفاده باید متد chain()
را از ماژول itertools
وارد کنید:
from itertools import chain devBio = { "name": "Ihechikara", "age": 500, "language": "Python" } tools = { "dev environment": "JupyterLab", "os": "Windows", "visualization": "Matplotlib" } merged_bio = dict(chain(devBio.items(), tools.items())) print(merged_bio) # {'name': 'Ihechikara', 'age': 500, 'language': 'Python', 'dev environment': 'JupyterLab', 'os': 'Windows', 'visualization': 'Matplotlib'}
در کد بالا، دیکشنری هایی را که باید به عنوان پارامتر ادغام شوند به متد chain()
ارسال کردیم: chain(devBio.items(), tools.items())
.
ما از متد items()
برای دسترسی به جفت کلید و مقدار هر دیکشنری استفاده کردیم.
در نهایت، ما متد chain()
و پارامترهای آن را در متد dict()
قرار دادیم: dict(chain(devBio.items(), tools.items()))
.
متد dict()
می تواند برای ایجاد یک فرهنگ لغت استفاده شود، پس از آن برای تبدیل اشیاء تکرار شونده (جفت کلید و مقدار) به یک دیکشنری استفاده کردیم و آنها را در متغیر merged_bio
ذخیره کردیم.
نحوه ادغام دو دیکشنری در پایتون با استفاده از روش ChainMap()
روش ChainMap()
همانند متد chain()
در مورد ادغام دیکشنری ها عمل می کند. تفاوت اصلی این است که برای دسترسی به جفت کلید و مقدار دیکشنری ها به متد items()
it نیازی ندارید.
می توانید متد ChainMap()
را از ماژول collections
وارد کنید.
در اینجا نحوه استفاده از روش ChainMap()
برای ادغام دو دیکشنری آورده شده است:
from collections import ChainMap devBio = { "name": "Ihechikara", "age": 500, "language": "Python" } tools = { "dev environment": "JupyterLab", "os": "Windows", "visualization": "Matplotlib" } merged_bio = dict(ChainMap(devBio, tools)) print(merged_bio) # {'name': 'Ihechikara', 'age': 500, 'language': 'Python', 'dev environment': 'JupyterLab', 'os': 'Windows', 'visualization': 'Matplotlib'}
برای درک منطق کد بالا می توانید توضیحات قسمت آخر را تحلیل کنید.
نحوه ادغام دو دیکشنری در پایتون با استفاده از عملگر ادغام ( |
)
عملگر ادغام ( |
) برای اولین بار در پایتون ۳.۹ معرفی شد. این یک نحو کوتاه تر و ساده تر است که می توانید از آن برای ادغام فرهنگ لغت استفاده کنید.
در اینجا یک مثال است:
from collections import ChainMap devBio = { "name": "Ihechikara", "age": 500, "language": "Python" } tools = { "dev environment": "JupyterLab", "os": "Windows", "visualization": "Matplotlib" } merged_bio = devBio | tools print(merged_bio) # {'name': 'Ihechikara', 'age': 500, 'language': 'Python', 'dev environment': 'JupyterLab', 'os': 'Windows', 'visualization': 'Matplotlib'}
پس برای ادغام دیکشنری devBio
و tools
، |
اپراتور بین آنها: devBio | tools
.
نحوه ادغام دو دیکشنری در پایتون با استفاده از عملگر به روز رسانی ( |=
)
عملگر به روز رسانی ( |=
) اپراتور دیگری است که در پایتون ۳.۹ معرفی شده است.
درست مانند متد update()
کار می کند. به این معنا که:
from collections import ChainMap devBio = { "name": "Ihechikara", "age": 500, "language": "Python" } tools = { "dev environment": "JupyterLab", "os": "Windows", "visualization": "Matplotlib" } devBio |= tools print(devBio) # {'name': 'Ihechikara', 'age': 50, 'language': 'Python', 'dev environment': 'JupyterLab', 'os': 'Windows', 'visualization': 'Matplotlib'}
در کد بالا، ما از |=
استفاده کردیم تا جفتهای کلید و مقدار در فرهنگ لغت tools
را در دیکشنری devBio
بگنجانیم.
خلاصه
در این مقاله در مورد دیکشنری ها در پایتون صحبت کردیم. می توانید از آنها برای ذخیره داده ها در جفت های کلید-مقدار استفاده کنید.
ما دیدیم که چگونه دو دیکشنری را در پایتون با استفاده از:
متد update()
.
عملگر دوتایی ستاره/ستاره ( **
).
chain()
.
متد ChainMap()
عملگر ادغام ( |
).
عملگر به روز رسانی ( |=
).
هر روش بخش مخصوص به خود را با نمونه های کد داشت که نحوه استفاده از آنها را برای ادغام فرهنگ لغت نشان می داد.
کد نویسی مبارک! می توانید در وبلاگ من درباره پایتون بیشتر بدانید.