حلقه معین (for)
کاربرد
- برای پیمایش روی مجموعهای مشخص از آیتمها (لیست، خطوط فایل، محدوده اعداد و…)
تفاوت 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()نیست، مگه اینکه بخواید کد خواناتر باشه.
تمرین
احتیاطسوالات سایت کوئرا
- 9774 - عدد چاپکن
- 17244 - شارژ موبایل
- 589 - فاکتوریل
- 2529 - اسمها
- 3409 - جدول ضرب گنده
- 3539 - تکرقمی
- 282 - کامل بودن یا نبودن
- 616 - توان دو
- 591 - چاپ مربع
- 618 - چاپ لوزی
- 3405 - چاپ برعکس
- 617 - عدد خودمغلوب
- 4065 - خر در چمن فراوونه!!
- 3537 - سوال زرد
- 2885 - سوال ساده
- 28947 - کمک به کاپی
- 588 - ماکزیمم
- 10231 - خُب باقر سرما خورده
- 10232 - باقر خستهست ولی بیفرهنگ نه