مقدمه
دیکشنری یک نوع داده داخلی پایتون است. دنباله ای از جفت های کلید-مقدار است که هر کلید منحصر به فرد است و به یک مقدار نگاشت می شود. دیکشنری ها اشیای قابل تغییر هستند، به این معنی که می توانید محتوای آنها را بدون تغییر هویت آنها تغییر دهید. با این حال، کلیدهای فرهنگ لغت تغییر ناپذیر هستند و باید در هر دیکشنری منحصر به فرد باشند. این باعث می شود که فرهنگ لغت برای جستجو، درج و حذف بسیار کارآمد باشد.
دیکشنری ها به طور گسترده در پایتون برای کاربردهای مختلفی مانند شمارش رخدادها، گروه بندی داده ها و ذخیره تنظیمات استفاده می شوند. با وجود تطبیق پذیری آنها، هیچ روش افزودنی داخلی برای فرهنگ لغت وجود ندارد. در عوض، راههای مختلفی برای افزودن و بهروزرسانی یک فرهنگ لغت وجود دارد که هر کدام کاربرد و مزایای خاص خود را دارند.
در این مقاله روش های مختلفی برای افزودن و به روز رسانی دیکشنری های پایتون را خواهید آموخت. شما یاد خواهید گرفت که چگونه از عملگر اختصاص پایتون، متد update() و عملگرهای فرهنگ لغت ادغام و بهروزرسانی استفاده کنید. در پایان این آموزش، شما درک کاملی از نحوه مدیریت و دستکاری دیکشنری ها به طور موثر در برنامه های پایتون خود خواهید داشت.
با استفاده از عملگر = Assignment به دیکشنری پایتون اضافه کنید
برای افزودن کلید جدید به فرهنگ لغت می توانید از عملگر = assignment استفاده کنید:
dict[key] = value
اگر یک کلید از قبل در فرهنگ لغت وجود داشته باشد، اپراتور تخصیص مقدار را به روز می کند یا بازنویسی می کند.
مثال زیر نحوه ایجاد یک فرهنگ لغت جدید و سپس استفاده از عملگر انتساب = برای به روز رسانی یک مقدار و افزودن جفت های کلید-مقدار را نشان می دهد:
dict_example = {'a': 1, 'b': 2}
print("original dictionary: ", dict_example)
dict_example['a'] = 100 # existing key, overwrite
dict_example['c'] = 3 # new key, add
dict_example['d'] = 4 # new key, add
print("updated dictionary: ", dict_example)
خروجی این است:
Output
original dictionary: {'a': 1, 'b': 2}
updated dictionary: {'a': 100, 'b': 2, 'c': 3, 'd': 4}
خروجی نشان می دهد که مقدار a با مقدار جدید بازنویسی می شود، مقدار b بدون تغییر است و جفت های کلید-مقدار جدید برای c و d اضافه می شوند.
بدون بازنویسی مقادیر به دیکشنری پایتون اضافه کنید
استفاده از عملگر انتساب = مقادیر کلیدهای موجود را با مقادیر جدید بازنویسی می کند. اگر میدانید که برنامه شما ممکن است کلیدهای تکراری داشته باشد، اما نمیخواهید مقادیر اصلی را بازنویسی کنید، میتوانید با استفاده از دستور if مقادیر را به صورت مشروط اضافه کنید.
با ادامه مثال از بخش قبل، می توانید از دستورات if استفاده کنید تا فقط جفت های کلید-مقدار جدید به فرهنگ لغت اضافه کنید:
dict_example = {'a': 1, 'b': 2}
print("original dictionary: ", dict_example)
dict_example['a'] = 100 # existing key, overwrite
dict_example['c'] = 3 # new key, add
dict_example['d'] = 4 # new key, add
print("updated dictionary: ", dict_example)
# add the following if statements
if 'c' not in dict_example.keys():
dict_example['c'] = 300
if 'e' not in dict_example.keys():
dict_example['e'] = 5
print("conditionally updated dictionary: ", dict_example)
خروجی این است:
Output
original dictionary: {'a': 1, 'b': 2}
updated dictionary: {'a': 100, 'b': 2, 'c': 3, 'd': 4}
conditionally updated dictionary: {'a': 100, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
خروجی نشان می دهد که به دلیل شرط if، مقدار c زمانی که فرهنگ لغت به طور مشروط به روز می شود، تغییر نمی کند.
افزودن به دیکشنری پایتون با استفاده از متد update().
با استفاده از متد update() میتوانید یک فرهنگ لغت یا یک جفت کلید-مقدار تکرارشونده را به فرهنگ لغت اضافه کنید. متد update() مقادیر کلیدهای موجود را با مقادیر جدید بازنویسی می کند.
مثال زیر نحوه ایجاد یک دیکشنری جدید، استفاده از متد update() برای افزودن یک جفت کلید-مقدار جدید و یک فرهنگ لغت جدید و چاپ هر نتیجه را نشان می دهد:
site = {'Website':'DigitalOcean', 'Tutorial':'How To Add to a Python Dictionary'}
print("original dictionary: ", site)
# update the dictionary with the author key-value pair
site.update({'Author':'Sammy Shark'})
print("updated with Author: ", site)
# create a new dictionary
guests = {'Guest1':'Dino Sammy', 'Guest2':'Xray Sammy'}
# update the original dictionary with the new dictionary
site.update(guests)
print("updated with new dictionary: ", site)
خروجی این است:
Output
original dictionary: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary'}
updated with Author: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy Shark'}
updated with new dictionary: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy Shark', 'Guest1': 'Dino Sammy', 'Guest2': 'Xray Sammy'}
خروجی نشان می دهد که به روز رسانی اول یک جفت کلید-مقدار جدید اضافه می کند و به روز رسانی دوم جفت های کلید-مقدار را از فرهنگ لغت مهمان به فرهنگ لغت سایت اضافه می کند. توجه داشته باشید که اگر بهروزرسانی یک فرهنگ لغت شامل یک کلید موجود باشد، مقدار قدیمی توسط بهروزرسانی بازنویسی میشود.
افزودن به دیکشنری پایتون با استفاده از Merge | اپراتور
می توانید از واژه نامه ادغام | استفاده کنید عملگر، که با کاراکتر pipe نشان داده می شود، برای ادغام دو فرهنگ لغت و برگرداندن یک شی دیکشنری جدید.
مثال زیر نحوه ایجاد دو دیکشنری و استفاده از عملگر ادغام را برای ایجاد یک فرهنگ لغت جدید نشان می دهد که شامل جفت های کلید-مقدار از هر دو است:
site = {'Website':'DigitalOcean', 'Tutorial':'How To Add to a Python Dictionary', 'Author':'Sammy'}
guests = {'Guest1':'Dino Sammy', 'Guest2':'Xray Sammy'}
new_site = site | guests
print("site: ", site)
print("guests: ", guests)
print("new_site: ", new_site)
خروجی این است:
Output
site: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy'}
guests: {'Guest1': 'Dino Sammy', 'Guest2': 'Xray Sammy'}
new_site: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy', 'Guest1': 'Dino Sammy', 'Guest2': 'Xray Sammy'}
این دو فرهنگ لغت در یک شیء دیکشنری جدید ادغام شدند که شامل جفتهای کلید-مقدار هر دو دیکشنری است.
اگر یک کلید در هر دو فرهنگ لغت وجود داشته باشد، مقدار از فرهنگ لغت دوم، یا عملوند سمت راست، مقدار گرفته شده است. در کد مثال زیر، هر دو دیکشنری کلیدی به نام b دارند:
dict1 = {'a':'one', 'b':'two'}
dict2 = {'b':'letter two', 'c':'letter three'}
dict3 = dict1 | dict2
print{"dict3: ", dict3}
خروجی این است:
Output
dict3: {'a': 'one', 'b': 'letter two', 'c': 'letter three'}
مقدار کلید b با مقدار عملوند سمت راست، dict2 بازنویسی شد.
با استفاده از آپدیت |= عملگر به دیکشنری پایتون اضافه کنید
میتوانید از عملگر بهروزرسانی فرهنگ لغت |= که با نویسههای لوله و علامت مساوی نشان داده میشود، برای بهروزرسانی یک فرهنگ لغت در محل با فرهنگ یا مقادیر داده شده استفاده کنید.
درست مثل ادغام | عملگر، اگر یک کلید در هر دو فرهنگ لغت وجود داشته باشد، عملگر به روز رسانی |= مقدار را از عملوند سمت راست می گیرد.
مثال زیر نحوه ایجاد دو فرهنگ لغت را نشان می دهد، از عملگر به روز رسانی برای ضمیمه فرهنگ لغت دوم به فرهنگ لغت اول و سپس چاپ فرهنگ لغت به روز شده استفاده کنید:
site = {'Website':'DigitalOcean', 'Tutorial':'How To Add to a Python Dictionary', 'Author':'Sammy'}
guests = {'Guest1':'Dino Sammy', 'Guest2':'Xray Sammy'}
site |= guests
print("site: ", site)
خروجی این است:
Output
site: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy', 'Guest1': 'Dino Sammy', 'Guest2': 'Xray Sammy'}
در مثال قبل، شما نیازی به ایجاد یک شی دیکشنری سوم نداشتید، زیرا اپراتور به روز رسانی شی اصلی را تغییر می دهد. خروجی نشان می دهد که فرهنگ لغت مهمان به فرهنگ لغت اصلی سایت ضمیمه شده است.
نتیجه
در این مقاله از روش های مختلفی برای افزودن و به روز رسانی دیکشنری پایتون استفاده کردید.