حلقه معین (for)

اصلاح شده

2026-09-03

کاربرد

  • برای پیمایش روی مجموعه‌ای مشخص از آیتم‌ها (لیست، خطوط فایل، محدوده اعداد و…)

تفاوت for و while

حلقه نوع توضیح
for معین روی مجموعه‌ای مشخص از آیتم‌ها حلقه می‌زنه، به تعداد آیتم‌ها تکرار می‌شه
while نامعین تا وقتی شرط False بشه ادامه پیدا می‌کنه، تعداد تکرار مشخص نیست

مثال

friends = ['Joseph', 'Glenn', 'Sally']
for friend in friends:
    print('Happy New Year: ', friend)
print('Done!')
  • متغیر friend به ترتیب مقدار هر عنصر لیست رو می‌گیره
  • بعد از تموم شدن حلقه، خط بعدی (Done!) اجرا می‌شه

پیمایش روی لیست

برای اعمال تغییرات روی لیست می‌توانیم از شیوه زیر استفاده کنیم:

nums = [1, 2, 3, 4]
nums_power = [n ** 2 for n in nums]
print(nums_power)
[1, 4, 9, 16]

پیمایش روی دیکشنری

برای پیمایش روی دیکشنری چند روش رایج وجود داره:

person = {"name": "Mohsen", "age": 32, "city": "Sari"}

for key in person:
    print(key)

for key in person.keys():
    print(key)

for value in person.values():
    print(value)

for key, value in person.items():
    print(key, value)

می‌تونید مثل لیست، از دیکشنری کامپرینشن (Dict Comprehension) هم برای ساخت دیکشنری جدید حین پیمایش استفاده کنید:

prices = {"apple": 10, "banana": 5, "cherry": 20}
discounted = {item: price * 0.9 for item, price in prices.items()}
print(discounted)
{'apple': 9.0, 'banana': 4.5, 'cherry': 18.0}

نکته: پیمایش مستقیم روی دیکشنری (for key in person) همون کلیدها رو برمی‌گردونه؛ پس معمولاً نیازی به نوشتن .keys() نیست، مگه اینکه بخواید کد خواناتر باشه.

تمرین