دیکشنری در پایتون «Dictionary» یک نوع دادهی نامرتب و قابل تغییر است که اطلاعات را بهصورت جفتهای کلید و مقدار (Key-Value) ذخیره میکند. دیکشنریها با استفاده از آکولاد { } تعریف میشوند و هر کلید باید منحصربهفرد و از نوع دادهی تغییرناپذیر (مانند رشته، عدد یا تاپل) باشد، درحالیکه مقدار میتواند هر نوع دادهای باشد. از دیکشنریها معمولاً برای ذخیره و بازیابی دادهها بر اساس کلید بهجای اندیس عددی (مانند لیست) استفاده میشود که این ویژگی باعث افزایش سرعت جستجو و دسترسی به دادهها میشود.
مقدمه
دیکشنری در پایتون «Dictionary» یک ساختار دادهای است که مقادیر را به صورت جفتهای کلید مقدار «value pairs» ذخیره میکند. مقادیر دیکشنری در پایتون میتواند از هر نوع دادهای باشد و تکراری باشد، اما کلیدها نمیتوانند تکراری باشند و باید تغییرناپذیر «immutable» باشند.در این مقاله، شما ویژگیهای اصلی دیکشنری در پایتون را میآموزید و نحوه دسترسی و مدیریت دادههای دیکشنری در پایتون را یاد خواهید گرفت. پس از اتمام این آموزش، باید درک خوبی از زمان مناسب استفاده از دیکشنری در پایتون و نحوه استفاده از آن داشته باشید.
مثال: در مثال زیر دادهها به صورت جفتهای کلید مقدار، در دیکشنری ذخیره شدهاند که پیدا کردن مقادیر را آسانتر میکند.
d = {1: 'program', 2: 'store', 3: 'ahar'} print(d)
خروجی:
{۱: 'program', 2: 'store', 3: 'ahar'}
چگونه یک دیکشنری در پایتون ایجاد کنیم؟
یک دیکشنری در پایتون با قرار دادن یک دنباله از عناصر در داخل آکولاد { } و جدا کردن آنها با کاما ایجاد میشود.
# create dictionary using { } d1 = {1: 'program', 2: 'store', 3: 'ahar'} print(d1) # create dictionary using dict() constructor d2 = dict(a = "program", b = "store", c = "ahar") print(d2)
خروجی:
{۱: 'program', 2: 'store', 3: 'ahar'} {'a': 'program', 'b': 'store', 'c': 'ahar'}
توجه:
- کلیدهای دیکشنری در پایتون حساس به حروف بزرگ و کوچک هستند: همان نام با تفاوت در حروف بزرگ و کوچک به عنوان کلیدهای متفاوت در نظر گرفته میشوند.
- کلیدها باید تغییرناپذیر (immutable) باشند: این بدین معنی است که کلیدها میتوانند رشتهها، اعداد یا تاپلها باشند، اما نمیتوانند لیست باشند.
- کلیدها باید یکتا باشند: وجود کلیدهای تکراری مجاز نیست و هر کلید تکراری مقدار قبلی را بازنویسی خواهد کرد.
دسترسی به آیتم های دیکشنری در پایتون
ما میتوانیم برای دسترسی به مقدار از یک دیکشنری در پایتون از طریق کلید، از براکتهای مربع یا متد ()get استفاده کنیم.
d = { "name": "Alice", 1: "Python", (1, 2): [1,2,4] } # Access using key print(d["name"]) # Access using get() print(d.get("name"))
خروجی:
Alice Alice
افزودن و بروزرسانی آیتمهای دیکشنری در پایتون
میتوانیم با استفاده از انتساب، جفتهای کلید مقدار جدیدی را اضافه کنیم یا کلیدهای موجود را بروزرسانی کنیم.
d = {1: 'program', 2: 'store', 3: 'ahar'} # Adding a new key-value pair d["age"] = 22 # Updating an existing value d[1] = "Python dict" print(d)
خروجی:
{۱: 'Python dict', 2: 'store', 3: 'ahar', 'age': 22}
حذف آیتمهای دیکشنری در پایتون
میتوانیم از روشهای زیر برای حذف آیتمهای دیکشنری در پایتون استفاده کنیم:
- del: یک آیتم را بر اساس کلید حذف میکند.
- ()pop: یک آیتم را بر اساس کلید حذف کرده و مقدار آن را باز میگرداند.
- ()clear: دیکشنری را خالی میکند.
- ()popitem: آخرین جفت کلید مقدار را حذف کرده و آن را باز میگرداند.
d = {1: 'program', 2: 'store', 3: 'ahar', 'age':22} # Using del to remove an item del d["age"] print(d) # Using pop() to remove an item and return the value val = d.pop(1) print(val) # Using popitem to removes and returns # the last key-value pair. key, val = d.popitem() print(f"Key: {key}, Value: {val}") # Clear all items from the dictionary d.clear() print(d)
خروجی:
{۱: 'program', 2: 'store', 3: 'ahar'} program Key: 3, Value: ahar {}
پیمایش دیکشنری در پایتون
با استفاده از یک حلقه for، بر روی کلیدها و با استفاده از متد ()keys، مقادیر را با استفاده از متد ()values یا هر دو را با استفاده از متد ()items دیکشنری در پایتون پیمایش کنیم.
d = {1: 'program', 2: 'store', 'age':22} # Iterate over keys for key in d: print(key) # Iterate over values for value in d.values(): print(value) # Iterate over key-value pairs for key, value in d.items(): print(f"{key}: {value}")
خروجی:
۱ ۲ age program store ۲۲ ۱: program ۲: store age: 22
دیکشنریهای تو در تو
دیکشنریهای تو در تو دیکشنریهایی هستند که درون دیکشنریهای دیگر قرار میگیرند و این امکان را میدهند که دادهها را به صورت ساختارهای چند سطحی ذخیره کنیم.
برای دسترسی به مقادیر دیکشنریهای تو در تو، باید چندین کلید را استفاده کنیم.
d = {1: 'programstore', 2: 'ahar', ۳: {'A': 'Welcome', 'B': 'To', 'C': 'programstore'}} print(d)
خروجی:
{۱: 'programstore', 2: 'ahar', 3: {'A': 'Welcome', 'B': 'To', 'C': 'programstore'}})
نتیجه گیری
به طور کلی، دیکشنری در پایتون یک ساختار دادهی قدرتمند و انعطافپذیر است که امکان ذخیرهسازی و بازیابی سریع دادهها را از طریق کلیدها فراهم میکند. این ویژگی باعث میشود دیکشنریها برای مدیریت دادههای مرتبط، مانند اطلاعات کاربران، تنظیمات برنامه و نگاشتهای پیچیده، بسیار کارآمد باشند. علاوه بر این، با پشتیبانی از متدهای داخلی متنوع، مانند ()keys()، values و ()items، دیکشنریها ابزاری مناسب برای پردازش دادهها در سناریوهای مختلف برنامهنویسی هستند.