پایتون A تا Z : دوره کامل توسعه پایتون برای مبتدیان

فرهنگ لغت در پایتون (ایجاد ، افزودن ، حذف ، دسترسی ، لیست ، تکرار ، بررسی ، ادغام)

در آموزش قبلی ، ممکن است حلقه های  FOR و WHILE را کشف کرده باشید ، که یکی از مفاهیم اصلی است برای هنگامی که می خواهید یک بار از کد را چندین بار تکرار کنید – یا برای تعداد مشخصی از بار ، یا برای مدت نامحدود.

اکنون دیکشنری را در پایتون یاد خواهید گرفت ، بنابراین می توانید: ایجاد ، افزودن و حذف مورد ، تکرار از طریق فرهنگ لغت ، جستجو و دسترسی به یک مورد در داخل مجموعه – به علاوه انواع مختلف داخلی توابع و روش ها.


تعریف
فرهنگ لغت در پایتون مجموعه ای از موارد است ، که مرتب نیست ، توسط کلیدها فهرست می شود و قابل تغییر است – بنابراین پس از ایجاد می توان آن را تغییر داد. در حالی که سایر انواع داده ها به عنوان عنصر دارای ارزش هستند ، یک فرهنگ لغت دارای یک جفت “key: value” است ، جایی که هر کلید به یک مقدار واحد ترسیم می شود(مانند تابع یک به یک عمل می کند.)

در نتیجه ، هنگامی که کلید مشخص است ، فرهنگ لغت ها برای بدست آوردن مقادیر بهینه مربوطه شده اند!

Dictionary-Key-Value-Pairs-Illustration

ویژگی های مهم فرهنگ لغت پایتون به شرح زیر است:

  • فرهنگ لغت مرتب نیستند – موارد ذخیره شده در فرهنگ لغت به ترتیب خاصی نگهداری نمی شوند.
  • فرهنگ لغت ها قابل تغییر هستند – در صورت تقاضا ، می توانند در جای خود تغییر کنند ، کمتر یا بیشتر شوند.
  • کلیدها قابل دسترسی هستند – به آیتم های دیکشنری با کلید (نمایه شده) دسترسی پیدا می شود ، نه با موقعیت آنها (نمایه).
  • فرهنگ لغت ها را می توان تو در تو قرار داد – یک فرهنگ لغت می تواند شامل یک فرهنگ لغت دیگر باشد – و غیره (فرهنگ لانه).

عالی! اکنون که فهمیدید فرهنگ لغت چیست ، بیایید جلو برویم و نحوه ایجاد فرهنگ لغت در پایتون را بشناسیم ، همچنین همه کارهایی که می توانید روی آن انجام دهید چیست ، به منظور: افزودن ، حذف یا دسترسی به مورد ، یا حتی یک مورد خاص را در داخل فرهنگ لغت جستجو کنید.


ساختن

dictionaries-in-python

ایجاد یک فرهنگ لغت در پایتون به سادگی قرار دادن موارد “key: value” در داخل قلاب {} و جدا کردن اعضا با کاما است. هر کلید با یک علامت دو نقطه “:” از مقدار مربوط به آن جدا می شود. در حالی که مقادیر می توانند از هر نوع داده ای باشند و می توانند تکرار شوند ، کلیدها باید منحصر به فرد و از نوع تغییرناپذیر باشند – مانند رشته ، عدد یا تاپل با عناصر تغییرناپذیر.

بیایید نگاهی دقیق تری به دستور آن داشته باشیم ، بنابراین می توانید فرهنگ لغت خود را اعلام کنید. در اینجا مثالی آورده شده است که در آن می خواهید سوابق کارمند خود را ذخیره کنید. ابتدا ، بیایید یک فرهنگ لغت خالی – با استفاده از قلاب {} اعلام کنیم. در نهایت ، شما تمام اطلاعات شخصی مربوط به کارمند را اضافه خواهید کرد ، بنابراین می توانید اطلاعات آن را ذخیره کرده و بعداً به آن ها دسترسی پیدا کنید.

همچنین می توانید توالی های دو ارزشی را با استفاده از تابع داخلی ()dict به فرهنگ لغت تبدیل کنید. اولین مورد داخل هر دنباله به عنوان کلید و دومین مورد به عنوان مقدار تعریف خواهد شد.

وقتی کلیدها رشته های ساده ای هستند ، گاهی اوقات تعیین key:value (مقدار:کلید) با استفاده از آرگومان های کلمه کلیدی آسان تر است.

فرهنگ لغت ها بسیار ساده هستند ، اما در اینجا چند نکته وجود دارد که باید هنگام استفاده از آن ها آگاه باشید.


کلیدها باید منحصر به فرد باشند
یک کلید فقط یک بار می تواند در فرهنگ لغت ظاهر شود. حتی اگر بیش از یک بار در هنگام ایجاد فرهنگ لغت یک کلید را تعیین کنید ، آخرین مقدار برای آن کلید به مقدار مرتبط تبدیل می شود. توجه داشته باشید که رویداد اول کلید “نام” (Edusys) توسط (Pylove) جایگزین شده است. یعنی فقط مورد آخری که  PyLove بوده است لحاظ شده است.


کلید باید از نوع تغییرناپذیر باشد
شما می توانید از هر شیئی از نوع تغییرناپذیر به عنوان کلیدهای دیکشنری استفاده کنید – مانند اعداد ، رشته ها ، بولیان ، تاپل.

در غیر این صورت ، ی وقتی شی قابل تغییر به عنوان کلید استفاده شود با خطا مواجه خواهید شد.


مقدار می تواند از هر نوع باشد
هیچ محدودیتی در مقادیر فرهنگ لغت وجود ندارد. مقدار فرهنگ لغت می تواند هر نوع شm باشد و حتی می تواند چندین بار در فرهنگ لغت ظاهر شود.(تکرار مقادیر جایز می باشد.)


راه های دیگر ایجاد فرهنگ لغت
روشهای زیادی برای ایجاد فرهنگ لغت وجود دارد. برای ترکیب لیست های جداگانه کلیدها و مقادیر بدست آمده به صورت پویا ، در زمان اجرا ، می توانید از تابع ()dict  به همراه تابع ()zip  استفاده کنید.

مثال: یک فرهنگ لغت با لیست کلیدها / مقادیر فشرده ایجاد کنید.

شما اغلب می خواهید برای هر کلید یک فرهنگ لغت با مقادیر پیش فرض ایجاد کنید. روش  ()fromkeys راهی برای انجام آن ارائه می دهد.

مثال: فرهنگ لغت را با مقدار پیش فرض “0” برای هر کلید شروع کنید.


اضافه كردن
افزودن یا به روزرسانی موارد فرهنگ لغت بسیار آسان است. فرهنگ لغات قابل تغییر هستند ، به این معنی که شما می توانید موارد جدیدی اضافه کنید یا مقدار مورد موجود را با استفاده از عملگر انتساب تغییر دهید. اگر کلید از قبل وجود داشته باشد ، مقدار به روز می شود – در غیر این صورت ، یک جفت جدید “key: value” به فرهنگ لغت اضافه می شود.

افزودن عضو به فرهنگ لغت موجود صرفاً اختصاص دادن یک کلید و مقدار جدید است. اگر کلید جدید باشد ، با ارزش آن به فرهنگ لغت اضافه می شود. مثال: مورد جدید “city” را به فرهنگ لغت اضافه کنید.

اگر کلید از قبل در فرهنگ لغت وجود داشته باشد ، مقدار آن با عدد جدید جایگزین می شود. بنابراین ، اگر می خواهید ورودی را به روز کنید ، می توانید مقدار جدیدی را به یک کلید موجود اختصاص دهید.

مثال: مقدار کلید “name” را تغییر دهید.


دسترسی
عناصر فرهنگ لغت باید به نوعی قابل دسترسی باشند! اگر آن ها را بر اساس فهرست شماره بندی شده دریافت نکنید ، پس چگونه آنها را بدست می آورید؟

در حالی که برای دستیابی به مقادیر از فهرست بندی با انواع دیگر ظرف استفاده می شود ، فرهنگ لغت از کلیدها استفاده می کند. مقادیر را می توان با تعیین کلید مربوطه آن در یک کروشه [] از فرهنگ لغت بازیابی کرد.

مثال: مقدار کلید “name” را چاپ کنید

با این وجود ، اگر به کلیدی مراجعه کنید که در فرهنگ لغت نیست ، با خطا مواجه خواهید شد. برای جلوگیری از چنین استثنایی ، می توانید از روش ویژه ()get  استفاده کنید. تفاوت هنگام استفاده از ()get  این است که اگر کلید پیدا نشود ، None را به جای KeyError برمی گرداند – و اگر کلید در فرهنگ لغت است مقدار مربوط به کلید خود را برمی گرداند.

مثال: سعی کنید مقدار کلید “salary” را چاپ کنید

مثال: مقادیر کلیدهای “name” و “salary”را چاپ کنید.


حذف کردن
روش های مختلفی برای حذف موارد از فرهنگ لغت وجود دارد: یا توسط کلید آن ، آخرین مورد وارد شده ، یک مورد تصادفی یا حتی حذف همه آن ها  به یک باره.

یک مورد را با کلید حذف کنید
اگر کلید مورد مورد نظر خود را می دانید: با استفاده از تابع ()pop  می توانید مورد خاصی را در فرهنگ لغت حذف کنید. این عملکرد یک مورد را با کلید ارائه شده حذف کرده و مقدار آن را برمی گرداند.

اگر نیازی به نگهداری یا استفاده از مقدار حذف شده نیستید ، می توانید از کلمه کلیدی del برای حذف موارد منفرد استفاده کنید. برای حذف یک ورودی ، از کلید del برای تعیین کلید حذف استفاده کنید.


حذف آخرین مورد در دیکشنری

بعضی اوقات باید درون دیکشنری در پایتون تکرار کنید و موارد آن را به ترتیب حذف کنید. برای انجام این کار ، می توانید از تابع ()popitem  استفاده کنید ، که آخرین مورد وارد شده را از فرهنگ لغت حذف و برگردانده است.

لطفا توجه داشته باشید که در نسخه های پایتون قبل از 3.7 ، روش  ()popitem یک مورد تصادفی را حذف می کند – لزوماً آخرین مورد درج شده نیست!


حذف همه ی موارد درون دیکشنری

با استفاده از روش ()clear همه موارد را می توان یک باره حذف کرد.

در نتیجه ، همه کلیدها و مقادیر را از فرهنگ لغت حذف خواهد کرد. همچنین می توانید از کلمه کلیدی del برای حذف کل فرهنگ لغت خود استفاده کنید.


فهرست کردن کلیدها / مقادیر
سه روش فرهنگ لغت وجود دارد که همه کلیدها ، مقادیر و جفت ارزش کلیدهای دیکشنری را برمی گرداند: ()keys و() values و  ()items .

این روش ها در حلقه هایی که قرار است در تمام ورودی های دیکشنری اجرا شود ، مفید هستند. هر سه روش شئ قابل تکرار را برمی گرداند.

 

  • ()keys  : یک شئ قابل تکرار را بازمی گرداند که شامل تمام کلیدهای داخل فرهنگ لغت است.
  • ()values : یک شئ قابل تکرار را که شامل تمام مقادیر داخل فرهنگ لغت است ، برمی گرداند.
  • ()items  : لیستی از tuples را با تمام جفت های “key: value” برمی گرداند – [(key1, value1), (key2, value2)،…]

توجه: اگر لیست واقعی از این روش ها می خواهید ، می توانید آن ها را در یک تابع ()list  قرار دهید.


بررسی وجود
اگر می خواهید بدانید که آیا یک کلید در فرهنگ لغت وجود دارد ، از عملگرهای “in” و “not on”با جمله if استفاده کنید .

برای بررسی اینکه آیا کلید شما بخشی از کلیدهای فرهنگ لغت است یا خیر ، می توانید از روش ()keys  استفاده کنید.

از طرف دیگر ، برای بررسی وجود مقدار مشخصی در فرهنگ لغت ، باید از عملگر “in” ، همراه با تابع ()values استفاده کنید.


انجام عملیات تکرار بر روی کلیدها ، مقادیر ، موارد
فرهنگ لغت ها در پایتون یک ساختار داده ای بسیار مفید و پرکاربرد هستند. به عنوان یک توسعه دهنده ، شما اغلب در موقعیت هایی قرار خواهید گرفت که باید از طریق یک فرهنگ لغت تکرار کنید ، در حالی که برخی از اقدامات را روی جفت “مقدار-کلید” آن انجام می دهید.

موارد (اعضا)
هنگامی که با فرهنگ لغت کار می کنید ، احتمالاً می خواهید با هر دو کلید و مقدار کار کنید. یکی از مفیدترین راه ها برای تکرار از طریق فرهنگ لغت در پایتون ، استفاده از ()items است که روشی است که نمای جدیدی از موارد فرهنگ لغت را برمی گرداند- و شامل همه جفت های “مقدار-کلید” به عنوان tuples ( کلید ، مقدار) داخل یک لیست می باشد . در هر تکرار ، تاپل فعلی به شکل “کلید ، مقدار” بسته بندی می شود ، بنابراین می توانید به کلید یا مقدار به صورت جداگانه دسترسی پیدا کنید.

 

کلیدها
اگر فقط لازم است با کلیدهای یک فرهنگ لغت کار کنید ، می توانید از تابع ()keys  استفاده کنید ، روشی است که یک شئ حاوی کلیدهای فرهنگ لغت را برمیگرداند ، .

توجه : در هر تکرار ، مورد فعلی فقط کلید خواهد بود نه مقدار مرتبط آن!

 

مقادیر

اگر از دیکشنری در حلقه for استفاده می کنید ، کلیدهای فرهنگ لغت را به طور پیش فرض مرور می کند . اما همچنین استفاده از مقادیر برای تکرار از طریق دیکشنری در پایتون نیز معمول است.

یکی از راه های انجام این کار استفاده از ()values است که اعضا را با مقادیر فرهنگ لغت برمی گرداند.

در هر تکرار ، مورد فعلی فقط مقدار خواهد بود – نه کلید مرتبط آن!

 

طول فرهنگ لغت (تعداد اعضای فرهنگ لغت)
سرانجام ، ممکن است بخواهید دریابید که چند عضو”key: value” داخل دیکشنری وجود دارد.

در این صورت ، لازم نیست از طریق فرهنگ لغت تکرار کنید و هر مورد را بشمارید ، بلکه از تابع ()len  ، که تعداد موارد موجود در فرهنگ لغت را برمی گرداند استفاده کنید.


ترکیب فرهنگ لغت ها ( ادغام دیکشنری ها )
ممکن است گاهی اوقات بخواهید یا لازم باشد دو فرهنگ لغت را ادغام کنید ، بنابراین می توانید تمام داده های خود را در یک متغیر قرار دهید. یا مقادیر آن را با محتوای جدید به روز کنید. از تابع به  ()update داخلی استفاده کنید: برای ادغام کلیدها و مقادیر یک فرهنگ لغت ، در فرهنگ لغت دیگر.

توجه داشته باشید که: این روش کورکورانه مقادیر یک کلید را رونویسی می کند. اگر در داخل اولین فرهنگ لغت یک کلید موجود وجود داشته باشد ، مقدار آن با دیکشنری جدید به روز می شود. و کلیدهای جدید ایجاد می شوند در صورتی که قبلاً موجود نبوده اند.

همانطور که در این مثال مشاهده می کنید ، ادغام دو فرهنگ لغت منجر به ترکیب همه موارد و به روزرسانی موارد قبلی می شود.


توابع دیکشنری (=تابع های فرهنگ لغت)
پایتون مجموعه ای از تابع های داخلی را دارد که می توانید روی اشیاء فرهنگ لغت فراخوانی کنید.

تابع توضیحات
clear() همه موارد را از فرهنگ لغت حذف می کند
copy() نسخه کم عمق فرهنگ لغت را برمی گرداند
fromkeys() فرهنگ لغت جدیدی با کلیدها و مقادیر مشخص شده ایجاد می کند
get() مقدار کلید مشخص شده را برمی گرداند
items() لیست دو تایی از مقدار:کلید را برمی گرداند
keys() لیستی از تمام کلیدهای فرهنگ لغت را برمی گرداند
pop() آیتم لغت نامه را با کلید مشخص حذف و برمی گرداند
popitem() آخرین آیتم درج شده را حذف و برمی گرداند
setdefault() کلید را با مقدار پیش فرض بر میگرداند ، در صورت عدم وجود پیشفرض ، مقدار تعریف شده مربوط به هر کلید را برمیگرداند
update() فرهنگ لغت را با مقدار:کلید تعیین شده به روز می کند
values() لیستی از تمام مقادیر را از فرهنگ لغت برمی گرداند
all() اگر همه موارد لیست ارزش درست داشته باشند ،  ارزش  درست برمی گردد
any() اگر فقط یک مورد از لیست یا تعداد بیشتر از یک مورد  درست باشد ، درست را برمی گرداند
len() تعداد اعضای دیکشنری را برمی گرداند
sorted() لیست منظم شده و دارای ترتیب دسته بندی شده را برمی گرداند

نتیجه گیری
در این آموزش ، شما با استفاده عمیق از فرهنگ لغت در پایتون آشنا شده اید. وقتی می خواهید یک جفت “مقدار:کلید” را ذخیره کرده و به یک مقدار به طرز بسیار کارآمدی دسترسی پیدا کنید – به لطف کلید آن ، از این نوع داده استفاده می شود.

در نتیجه ، اکنون باید بتوانید: یک فرهنگ لغت ایجاد کنید ، چند مورد را اضافه کنید ، به روز کنید یا حذف کنید و حتی یک مورد خاص را جستجو کنید. دیکشنری دیگر نباید یک راز باشد و شما می توانید بلافاصله از آن ها در برنامه خود استفاده کنید!

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا