تکرار روی دیکشنریها با استفاده از حلقههای 'for' در پایتون
در پایتون برای تکرار روی دیکشنری ها بوسیله حلقه میتوانیم از متد items() استفاده کنیم که در پایتون 3.x به کار میرود. به عنوان مثال:
for key, value in d.items():
print(key, 'corresponds to', value)
در پایتون نسخه 2.x باید به صورت زیر عمل کنیم:
for key, value in d.iteritems():
print(key, 'corresponds to', value)
راه دیگر استفاده از روش زیر است:
for key in d:
print(key, 'corresponds to', d[key])
این روش یک عیب خواهد داشت که ممکن است باعث پایین آمدن پرفرمنس برنامه شود. چون دسترسی به مقدار مرتبط با key درون حلقه انجام می شود، ابتدا کلید برای دسترسی به مقدار هش می شود و اگر دیکشنری ما تعداد زیادی آیتم داشته باشد می تواند باعث کاهش پرفمنس برنامه شود.
نکته مهم که در مورد تکرار روی دیکشنری ها باید در نظر داشت این است که تکرار روی دیکشنریها در نسخههای پایتون قبل از 3.6 به ترتیب خاصی انجام نمیشد، اما از پایتون 3.7 به بعد، دیکشنریها ترتیب اضافه شدن آیتم ها را حفظ می کنند و به همان ترتیب آیتم ها و کلید ها برگردانده می شوند.
در نهایت، با توجه به اینکه نامگذاری متغیرها میتواند تأثیر زیادی بر خوانایی کد داشته باشد، پیشنهاد میشود در موارد ساده از نامهای کوتاه و در موارد پیچیدهتر از نامهای توصیفیتری استفاده کنید. بهطور مثال:
for letter, number in d.items():
print('{0} corresponds to {1}'.format(letter, number))
این شیوه باعث میشود که کد شما هم قابل فهمتر و هم کاراتر باشد.