آموزش پایتون - دسترسی به آیتم‌ها

دسترسی به آیتم‌های دیکشنری

دسترسی به آیتم‌های دیکشنری در پایتون شامل بازخوانی مقادیر مرتبط با کلیدهای مشخص در ساختار داده دیکشنری است. دیکشنری‌ها از جفت‌های کلید-مقدار تشکیل شده‌اند، که در آن هر کلید منحصر‌به‌فرد است و به یک مقدار مربوطه نگاشت می‌شود. دسترسی به آیتم‌های دیکشنری به شما این امکان را می‌دهد که با ارائه کلیدهای مربوطه، این مقادیر را بازیابی کنید.

روش‌های مختلفی برای دسترسی به آیتم‌های دیکشنری در پایتون وجود دارد. این روش‌ها عبارت‌اند از −

  • استفاده از قلاب‌ها یا کروشه‌ها []
  • متد get()
  • پیمایش در دیکشنری با استفاده از حلقه‌ها
  • یا متدهای خاصی مانند keys()، values() و items()

ما هر روش را با جزئیات بررسی خواهیم کرد تا نحوه دسترسی و بازیابی داده‌ها از دیکشنری‌ها را درک کنیم.

دسترسی به آیتم‌های دیکشنری با استفاده از کروشه []

در پایتون، کروشه‌ها [] برای ساخت لیست‌ها، دسترسی به عناصر یک لیست یا سایر اشیاء قابل پیمایش (مانند رشته‌ها، تاپل‌ها یا دیکشنری‌ها) و همچنین برای ساخت فشرده لیست‌ها (List Comprehension) استفاده می‌شوند.

ما می‌توانیم با قرار دادن کلید در داخل کروشه‌ها، به آیتم‌های دیکشنری دسترسی پیدا کنیم. این کار مقداری را که با کلید مشخص‌شده مرتبط است بازیابی می‌کند.

مثال ۱

در مثال زیر، ما دیکشنری به نام "capitals" تعریف می‌کنیم که در آن هر کلید نشان‌دهنده یک ایالت و مقدار مربوط به آن نشان‌دهنده شهر مرکز آن ایالت است.

سپس، با استفاده از کلیدهای مربوطه یعنی 'Gujarat' و 'Karnataka'، به مراکز ایالت‌های گجرات و کارناتاکا از دیکشنری دسترسی پیدا کرده و آن‌ها را بازیابی می‌کنیم −

capitals = {"Maharashtra":"Mumbai", "Gujarat":"Gandhinagar", "Telangana":"Hyderabad", "Karnataka":"Bengaluru"}
print ("Capital of Gujarat is : ", capitals['Gujarat'])
print ("Capital of Karnataka is : ", capitals['Karnataka'])

خروجی زیر را تولید خواهد کرد −

Capital of Gujarat is: Gandhinagar
Capital of Karnataka is: Bengaluru

مثال ۲

اگر کلید داده‌شده در داخل کروشه‌ها در شئ دیکشنری وجود نداشته باشد، پایتون خطای KeyError رخ می‌دهد −

capitals = {"Maharashtra":"Mumbai", "Gujarat":"Gandhinagar", "Telangana":"Hyderabad", "Karnataka":"Bengaluru"}
print ("Captial of Haryana is : ", capitals['Haryana'])

در ادامه خطای دریافت شده آمده است −

   print ("Captial of Haryana is : ", capitals['Haryana'])
                                      ~~~~~~~~^^^^^^^^^^^
KeyError: 'Haryana'

دسترسی به آیتم‌های دیکشنری با استفاده از متد get()

متد get() در کلاس dict پایتون برای بازیابی مقدار مرتبط با یک کلید مشخص استفاده می‌شود. اگر کلید در دیکشنری پیدا نشود، به جای رخ دادن KeyError، یک مقدار پیش‌فرض (معمولاً None) برمی‌گرداند.

ما می‌توانیم با مشخص کردن کلید به عنوان آرگومان، با استفاده از متد get() به آیتم‌های دیکشنری دسترسی پیدا کنیم. اگر کلید در دیکشنری وجود داشته باشد، این متد مقدار مرتبط را برمی‌گرداند؛ در غیر این صورت، یک مقدار پیش‌فرض برمی‌گرداند که اغلب None است، مگر اینکه مقدار دیگری مشخص شده باشد.

سنتکس

در ادامه سنتکس متد get() در پایتون آمده است −

Val = dict.get("key")

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

مثال ۱

در مثال زیر، ما یک دیکشنری به نام "capitals" تعریف می‌کنیم که در آن هر جفت کلید-مقدار، یک ایالت را به مرکز آن نگاشت می‌کند. سپس از متد get() برای بازیابی مراکز ایالت‌های "Gujarat" و "Karnataka" استفاده می‌کنیم −

capitals = {"Maharashtra":"Mumbai", "Gujarat":"Gandhinagar", "Telangana":"Hyderabad", "Karnataka":"Bengaluru"}
print ("Capital of Gujarat is: ", capitals.get('Gujarat'))
print ("Capital of Karnataka is: ", capitals.get('Karnataka'))

خروجی را به صورتی که در زیر نشان داده شده است دریافت می‌کنیم −

Capital of Gujarat is: Gandhinagar
Capital of Karnataka is: Bengaluru

مثال ۲

برخلاف عملگر "[]"، اگر کلید پیدا نشود، متد get() خطا ایجاد نمی‌کند؛ بلکه مقدار None را برمی‌گرداند −

capitals = {"Maharashtra":"Mumbai", "Gujarat":"Gandhinagar", "Telangana":"Hyderabad", "Karnataka":"Bengaluru"}
print ("Capital of Haryana is : ", capitals.get('Haryana'))

خروجی زیر را تولید خواهد کرد −

Capital of Haryana is : None

مثال ۳

متد get() یک آرگومان اختیاری از نوع رشته می‌پذیرد. اگر این آرگومان داده شود و کلید پیدا نشود، این رشته به مقدار بازگشتی تبدیل می‌شود −

capitals = {"Maharashtra":"Mumbai", "Gujarat":"Gandhinagar", "Telangana":"Hyderabad", "Karnataka":"Bengaluru"}
print ("Capital of Haryana is : ", capitals.get('Haryana', 'Not found'))

پس از اجرای کد بالا، خروجی زیر را دریافت می‌کنیم −

Capital of Haryana is: Not found

دسترسی به کلیدهای دیکشنری

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

ما می‌توانیم در پایتون با استفاده از متد keys() به کلیدهای دیکشنری دسترسی پیدا کنیم، که یک شئ نمایشی (view object) حاوی تمام کلیدهای موجود در دیکشنری را برمی‌گرداند.

مثال

در این مثال، ما تمام کلیدها را از دیکشنری "student_info" با استفاده از متد keys() بازیابی می‌کنیم −

# Creating a dictionary with keys and values
student_info = {
    "name": "Alice",
    "age": 21,
    "major": "Computer Science"
}
# Accessing all keys using the keys() method
all_keys = student_info.keys()
print("Keys:", all_keys)  

در ادامه خروجی کد بالا آمده است −

Keys: dict_keys(['name', 'age', 'major'])

دسترسی به مقادیر دیکشنری

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

ما می‌توانیم در پایتون با استفاده از روش‌های زیر به مقادیر دیکشنری دسترسی پیدا کنیم −

  • کروشه‌ها ([]) − با قرار دادن کلید در داخل کروشه‌ها.

  • متد get() − با فراخوانی متد همراه با کلید به عنوان آرگومان، و در صورت تمایل ارائه یک مقدار پیش‌فرض.

  • متد values() − که یک شئ نمایشی حاوی تمام مقادیر موجود در دیکشنری را برمی‌گرداند.

مثال ۱

در این مثال، ما مستقیماً به مقادیر مرتبط با کلیدهای "name" و "age" با استفاده از کروشه‌ها دسترسی پیدا می‌کنیم −

# Creating a dictionary with student information
student_info = {
    "name": "Alice",
    "age": 21,
    "major": "Computer Science"
}
# Accessing dictionary values using square brackets
name = student_info["name"]
age = student_info["age"]
print("Name:", name) 
print("Age:", age)   

خروجی کد بالا به صورت زیر است −

Name: Alice
Age: 21

مثال ۲

در اینجا، از متد get() برای بازیابی مقدار مرتبط با کلید "major" استفاده می‌کنیم و مقدار پیش‌فرض "2023" را برای کلید "graduation_year" ارائه می‌دهیم −

# Creating a dictionary with student information
student_info = {
    "name": "Alice",
    "age": 21,
    "major": "Computer Science"
}
# Accessing dictionary values using the get() method
major = student_info.get("major")
# Default value provided if key is not found
grad_year = student_info.get("graduation_year", "2023")  

print("Major:", major)      
print("Graduation Year:", grad_year) 

نتیجه را به صورت زیر دریافت می‌کنیم −

Major: Computer Science
Graduation Year: 2023

مثال ۳

اکنون، ما تمام مقادیر را از دیکشنری "student_info" با استفاده از متد values() بازیابی می‌کنیم −

# Creating a dictionary with keys and values
student_info = {
    "name": "Alice",
    "age": 21,
    "major": "Computer Science"
}
# Accessing all values using the values() method
all_values = student_info.values()
print("Values:", all_values) 

نتیجه به دست آمده به صورت زیر نشان داده شده است −

Values: dict_values(['Alice', 21, 'Computer Science'])

دسترسی به آیتم‌های دیکشنری با استفاده از تابع items()

تابع items() در پایتون برای بازگرداندن یک شئ نمایشی استفاده می‌شود که لیستی از جفت‌های تاپل کلید-مقدار یک دیکشنری را نمایش می‌دهد.

این شئ نمایشی می‌تواند برای پیمایش هم‌زمان روی کلیدها و مقادیر دیکشنری استفاده شود، که دسترسی به هر دو کلید و مقدار را در یک حلقه واحد آسان می‌کند.

مثال

در مثال زیر، ما از تابع items() برای بازیابی تمام جفت‌های کلید-مقدار از دیکشنری "student_info" استفاده می‌کنیم −

# Creating a dictionary with student information
student_info = {
    "name": "Alice",
    "age": 21,
    "major": "Computer Science"
}

# Using the items() method to get key-value pairs
all_items = student_info.items()
print("Items:", all_items)  
# Iterating through the key-value pairs
print("Iterating through key-value pairs:")
for key, value in all_items:
    print(f"{key}: {value}")

در ادامه خروجی کد بالا آمده است −

Items: dict_items([('name', 'Alice'), ('age', 21), ('major', 'Computer Science')])
Iterating through key-value pairs:
name: Alice
age: 21
major: Computer Science

پیشرفت مطالعه: وضعیت خوانده‌شدن این درس فقط در همین مرورگر ذخیره می‌شود؛ بدون نیاز به حساب کاربری.