آموزش

راهنمای مبتدیان برای حلقه‌های for در پایتون: تسلط بر for i in range

در دنیای برنامه‌نویسی پایتون، مسلط شدن به حلقه‌ها اهمیت زیادی داره. این آموزش حلقه for i in range در پایتون رو توضیح می‌ده؛ یکی از ساختارهای پایه‌ای و مهم در پایتون.

تاریخ انتشار:
1 تیر 1405
پایتون
5 دقیقه
کاربرهای فینکا در چه شرکت‌هایی مشغول به کار هستند؟

در دنیای برنامه‌نویسی پایتون، تسلط بر حلقه‌ها خیلی مهمه. این آموزش حلقه for i in range در پایتون رو روشن می‌کنه؛ یک ساختار پایه‌ای در پایتون که انجام کارهای تکراری رو ساده می‌کنه. در این مسیر با سینتکس، کاربردهای متنوع و مثال‌های عملی اون آشنا می‌شیم.

مفهوم اصلی حلقه‌های for در پایتون

یک حلقه for در پایتون یک ساختار کنترلیه که برای تکرار روی یک دنباله (مثل یک لیست، تاپل، دیکشنری یا رشته) استفاده می‌شه. زیبایی حلقه for پایتون در اینه که می‌تونه به‌صورت واضح و دقیق روی آیتم‌های یک دنباله حرکت کنه و اون‌ها رو تکرار کنه.

سینتکس حلقه for

در اینجا، متغیر item نمایانگر هر عنصر در دنباله‌ست و حلقه قطعه کد رو برای هر عنصر اجرا می‌کنه.

بررسی دقیق تابع ()range در پایتون

تابع range() در پایتون برای ساخت یک دنباله از اعداد خیلی مهمه و کنترل و انعطاف‌پذیری بیشتری رو در حلقه‌ها به ما می‌ده.

انعطاف‌پذیری range()

استفاده با یک آرگومان

  • اعداد رو از 0 تا n-1 تولید می‌کنه.
  • مثال: range(5) اعداد 0، 1، 2، 3 و 4 رو می‌سازه.

استفاده با دو آرگومان

  • شروع و پایان دنباله رو مشخص می‌کنه.
  • مثال: range(10, 15) اعداد 10، 11، 12، 13 و 14 رو نتیجه می‌ده.

استفاده با سه آرگومان

  • امکان تعیین گام برای افزایش اعداد رو اضافه می‌کنه.
  • مثال: range(1, 20, 2) اعداد 1، 3، 5، ... تا 19 رو تولید می‌کنه.

کاربردهای عملی و مثال‌ها

تکرار روی مجموعه‌ها

1. رشته‌ها: تکرار روی هر کاراکتر

این حلقه روی هر کاراکتر از رشته "Hello" حرکت می‌کنه. حلقه for هر کاراکتر ('H'، 'e'، 'l'، 'l'، 'o') رو به نوبت در متغیر char می‌ریزه و اون رو چاپ می‌کنه. بنابراین، نتیجه به‌صورت قرار گرفتن هر کاراکتر "Hello" در یک خط جدید خواهد بود.

2. لیست‌ها: پیمایش در بین آیتم‌های یک لیست

خروجی
1
2
3

در اینجا، حلقه از بین لیست [1, 2, 3] عبور می‌کنه. در هر دور، متغیر num مقدار عنصر بعدی لیست رو می‌گیره؛ اول 1، بعد 2 و در نهایت 3. هر عدد چاپ می‌شه و در نتیجه اعداد 1، 2 و 3 هر کدوم در یک خط جدید نوشته می‌شن.

3. دیکشنری‌ها: دسترسی به کلیدها و مقادیر.

خروجی
a 1
b 2

این حلقه روی یک دیکشنری شامل دو جفت کلید-مقدار ('a': 1 و 'b': 2) حرکت می‌کنه. متد .items() یک شیء نمایش می‌ده که یک لیست از جفت‌های کلید-مقدارِ دیکشنری رو ارائه می‌کنه. در هر دور، کلید و مقدار مربوط به آیتم بعدی در دیکشنری، در متغیرهای key و value قرار می‌گیرن و سپس چاپ می‌شن.

مکانیزم‌های کنترل حلقه

1. دستور break: حلقه رو زودتر از موعد تمام می‌کنه.

این کد روی اعداد 0 تا 9 (که توسط range(10) تولید شده) حرکت می‌کنه. وقتی مقدار i به 5 می‌رسه، شرط دستور if برقرار می‌شه و دستور break رو اجرا می‌کنه. این کار باعث توقف حلقه می‌شه، حتی اگر تمام مقادیر تا 9 بررسی نشده باشن.

2. دستور continue: از دور فعلی حلقه عبور می‌کنه.

خروجی
1
3
5
7
9

این حلقه هم از 0 تا 9 تکرار می‌شه. با این حال، دستور if بررسی می‌کنه که آیا i یک عدد زوجه (این کاریه که i % 2 == 0 انجام می‌ده. بررسی می‌کنه که آیا باقیمانده تقسیم i بر 2 برابر با 0 هست یا نه). اگر عدد زوج باشه، دستور continue اجرا می‌شه که باعث می‌شه از ادامه بدنه حلقه در اون دور بپره. بنابراین، فقط اعداد فرد چاپ می‌شن.

تکنیک‌های پیشرفته با استفاده از حلقه‌های for

1. حلقه‌های تو در تو

این یک مثال از حلقه‌های تو در تو هست که در اون یک حلقه داخل یک حلقه دیگه قرار داره. حلقه بیرونی (for i in range(3)) روی اعداد 0، 1 و 2 تکرار می‌شه. برای هر دور از حلقه بیرونی، حلقه درونی (for j in range(3)) هم روی اعداد 0، 1 و 2 حرکت می‌کنه. دستور print(i, j) برای هر ترکیب از i و j اجرا می‌شه.

خروجی مجموعه‌ای از جفت‌ها خواهد بود که نشان‌دهنده تمام ترکیب‌های i و j در بازه 0 تا 2 هستن.

2. حلقه زدن با استفاده از enumerate

تابع enumerate یک شمارنده به متغیرهای قابل تکرار اضافه می‌کنه و اون رو به شکل یک شیء enumerate برمی‌گردونه. این شیء می‌تونه مستقیما در حلقه‌های for استفاده بشه. در این مثال، حلقه for به همراه enumerate روی لیست ['a', 'b', 'c'] استفاده شده.

خروجی
0 a
1 b
2 c

تابع enumerate به‌صورت پیش‌فرض یک اندیس از عدد 0 به هر آیتم در لیست اضافه می‌کنه. سپس حلقه روی این شیء enumerate حرکت می‌کنه و هر آیتم رو به index و value تقسیم می‌کنه. در اینجا index همون جایگاه هر آیتم و value مقدار متناظرش در لیسته. بنابراین، خروجی مجموعه‌ای از خطوط شامل اندیس و مقدارها خواهد بود.

این مثال‌ها نشان می‌دن که چطور می‌تونی از حلقه‌های تو در تو برای انجام تکرارهای پیچیده استفاده کنی و چطور enumerate برای پیگیری راحت اندیس آیتم‌ها در یک حلقه به‌کار می‌ره.

حلقه‌های for در علم داده چه کاربردی دارن؟

حلقه for یک مفهوم کلیدی در برنامه‌نویسی پایتون و تحلیل داده‌ست. این حلقه‌ها کاربردهای گسترده‌ای مثل حرکت روی لیست‌ها و آرایه‌ها دارن که کار تغییر داده‌ها رو ساده می‌کنه. حلقه‌های for به‌ویژه‌ حلقه‌های تو در تو برای مدیریت ساختارهای داده‌ای چندبعدی استفاده می‌شن؛ این یک مرحله ضروری در ساخت الگوریتم‌های یادگیری ماشینه. علاوه بر این، دانشمندان داده اغلب حلقه‌های for رو با منطق شرطی ترکیب می‌کنن تا کارهای پیچیده پردازش داده، مثل تجمیع اطلاعات یا مثلا محاسبه میانگین یک لیست از اعداد رو انجام بدن.

با این حال، ممکنه وقتی که با مجموعه‌ داده‌های خیلی بزرگ و الگوریتم‌های یادگیری عمیق کار می‌کنی، حلقه‌های for بهترین انتخاب نباشن. به همین دلیله که کتابخونه‌هایی مثل numpy، pandas و torch رو داریم که برای انجام عملیات برداری بهینه‌سازی شدن و برای تغییر داده‌ها در مقیاس بزرگ کارایی بیشتری دارن.

نتیجه‌گیری: بهره‌گیری از کارایی حلقه‌ها

در نهایت، حلقه for در پایتون یک ابزار ضروری برای برنامه‌نویس‌هاست. سادگی اون در کنار قدرت تابع range()، این حلقه رو برای کارهای تکراری مختلف در علم داده و برنامه‌نویسی عمومی ایده‌آل می‌کنه. هر چه بیشتر تمرین کنی و این مفاهیم رو به کار ببری، می‌بینی که کدهای پایتون تو کارآمدتر و رساتر می‌شن.

می‌تونی در آموزش کامل ما در مورد حلقه‌های while بیشتر بخونی و این مفاهیم و مباحث دیگه رو در دوره پایتون متوسط فینکا کشف کنی.

اشتراک‌گذاری
فهرست مطالب
  • مفهوم اصلی حلقه‌های for در پایتون
  • بررسی دقیق تابع ()range در پایتون
  • کاربردهای عملی و مثال‌ها
  • تکنیک‌های پیشرفته با استفاده از حلقه‌های for
  • حلقه‌های for در علم داده چه کاربردی دارن؟
  • نتیجه‌گیری: بهره‌گیری از کارایی حلقه‌ها

دریافت اپلیکیشن فینکا

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