پرسش

چگونه با استفاده از حلقه for بر روی دیکشنری‌ها تکرار کنیم؟

Iterating over dictionaries using for loops

چطوری می‌تونم با استفاده از یک حلقه for بر روی یک دیکشنری در پایتون تکرار کنم و به کلیدها و مقادیر اون دسترسی داشته باشم؟ برای مثال، فرض کنید دیکشنری‌ای دارم به نام d که حاوی چند کلید و مقدار است. چطور می‌تونم این دیکشنری رو پیمایش کنم تا بتونم به هر کلید و مقدار مربوط به اون دسترسی داشته باشم؟

1403/05/28
پاسخ
رضا دولتی عاشق برنامه نویسی و هوش مصنوعی!
بیوگرافی رضا دولتی

برای اینکه بتونی روی دیکشنری در پایتون تکرار کنی و هم به کلیدها و هم به مقادیرشون دسترسی پیدا کنی، چندین روش وجود داره. بیایید به چند روش معمول نگاه کنیم:

  1. تکرار فقط روی کلیدها: ساده‌ترین حالت اینه که فقط روی کلیدها تکرار کنی. در این حالت، به هر کلید دسترسی داری و می‌تونی مقدار مربوط به اون کلید رو با استفاده از همون کلید پیدا کنی.
d = {'a': 1, 'b': 2, 'c': 3}
for key in d:
    print(key, d[key])

در این مثال، خروجی میشه:

a 1
b 2
c 3
  1. استفاده از ()items: برای دسترسی همزمان به کلیدها و مقادیر: اگر می‌خوای همزمان به کلیدها و مقادیرشون دسترسی داشته باشی، می‌تونی از متد ()items استفاده کنی. این متد یه جفت (کلید، مقدار) برمی‌گردونه.
d = {'a': 1, 'b': 2, 'c': 3}
for key, value in d.items():
   print(key, value)

در اینجا، خروجی همونطور که انتظار داری به شکل زیر میشه:

a 1
b 2
c 3
  1. تکرار فقط روی مقادیر: گاهی اوقات ممکنه فقط به مقادیر دیکشنری نیاز داشته باشی. در این صورت می‌تونی از متد ()values استفاده کنی.
d = {'a': 1, 'b': 2, 'c': 3}
for value in d.values():
    print(value)
1
2
3

نکته نهایی:

اگر فقط نیاز داری که کلیدها رو پیمایش کنی، همون روش اول کافیه، ولی برای دسترسی همزمان به کلیدها و مقادیرشون، استفاده از ()items بهینه‌ترین و راحت‌ترین راه هست. با این روش‌ها می‌تونی به راحتی دیکشنری‌هات رو مدیریت کنی و به داده‌ها دسترسی داشته باشی.

پاسخ: 1403/05/28
آخرین آپدیت: 1403/07/16