حلقه For در پایتون


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

 

1. تعریف ساده حلقه for در پایتون

حلقه for به شما این امکان را می‌دهد که بر روی یک دنباله (مثل لیست، رشته، یا هر نوع قابل تکرار دیگر) پیمایش کنید و به ازای هر عضو از دنباله، کدی را اجرا کنید.

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)

در این مثال، یک لیست از میوه‌ها داریم و با استفاده از حلقه for، هر میوه را به ترتیب چاپ می‌کنیم. خروجی این کد به صورت زیر خواهد بود:

apple
banana
cherry

2. ساختار کلی حلقه for

ساختار حلقه for در پایتون به این صورت است:

for item in iterable:
    # code to execute

- item: متغیری است که در هر دور از حلقه، یک عضو از دنباله (مثل لیست یا رشته) را دریافت می‌کند.

- iterable: دنباله‌ای است که می‌خواهید روی آن پیمایش کنید، مثل لیست، رشته، دیکشنری، یا حتی یک تابع تولید‌کننده (generator).

 

3. پیمایش روی رشته‌ها

رشته‌ها در پایتون هم قابل پیمایش هستند. هر حرف از یک رشته، به عنوان یک آیتم در حلقه for استفاده می‌شود.

for letter in "Python":
    print(letter)

خروجی:

P
y
t
h
o
n

 

4. استفاده از تابع range()

اگر می‌خواهید حلقه را با استفاده از یک عدد خاص یا محدوده‌ای از اعداد اجرا کنید، می‌توانید از تابع range() استفاده کنید. تابع range() یک دنباله از اعداد تولید می‌کند.

for i in range(5):
    print(i)

خروجی:

0
1
2
3
4

در این مثال، range(5) دنباله‌ای از اعداد 0 تا 4 تولید می‌کند (توجه داشته باشید که 5 شامل نمی‌شود).

 

پارامترهای دیگر range()

تابع range() سه پارامتر می‌پذیرد:

- start: شروع محدوده (به طور پیش‌فرض 0 است).

- stop: پایان محدوده (شامل نمی‌شود).

- step: میزان افزایشی که در هر مرحله به اعداد اضافه می‌شود (به طور پیش‌فرض 1 است).

مثال:

for i in range(2, 10, 2):
    print(i)

خروجی:

2
4
6
8

در اینجا، حلقه از 2 شروع شده، تا 10 ادامه می‌دهد (بدون شامل کردن 10)، و هر بار به اندازه 2 افزایش می‌یابد.

 

5. استفاده از حلقه for در پایتون با لیست‌های تو در تو

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

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
for row in matrix:
    for item in row:
        print(item, end=' ')

خروجی:

1 2 3 4 5 6 7 8 9

6. پیمایش دیکشنری‌ها

برای پیمایش در یک دیکشنری (که شامل کلید و مقدار است) از حلقه `for` استفاده می‌شود. می‌توانید هم کلید و هم مقدار را در هر تکرار حلقه دریافت کنید.

student = {'name': 'John', 'age': 22, 'major': 'Computer Science'}
for key, value in student.items():
    print(f"{key}: {value}")

خروجی:

name: John
age: 22
major: Computer Science

 

7. استفاده از else در حلقه for

شما می‌توانید از یک عبارت else بعد از حلقه for استفاده کنید. این عبارت تنها در صورتی اجرا می‌شود که حلقه بدون هیچ وقفه‌ای (مثل break) به پایان برسد.

for i in range(3):
    print(i)
else:
    print("Loop finished without break")

خروجی:

0
1
2
Loop finished without break

 

8. قطع کردن حلقه For در پایتون با break

گاهی اوقات ممکن است بخواهید حلقه را در میانه‌ی کار قطع کنید. این کار با استفاده از دستور `break` انجام می‌شود.

for i in range(5):
    if i == 3:
        break
    print(i)

خروجی:

0
1
2

در این مثال، وقتی مقدار i برابر با 3 شد، حلقه با دستور break قطع می‌شود.

 

9. استفاده از continue برای رد شدن از یک تکرار

اگر بخواهید فقط یک دور از حلقه را رد کنید و به تکرار بعدی بروید، از دستور continue استفاده می‌کنید.

for i in range(5):
    if i == 2:
        continue
    print(i)

خروجی:

0
1
3
4

وقتی i برابر با 2 می‌شود، حلقه آن تکرار را نادیده می‌گیرد و به تکرار بعدی می‌رود.

 

10. حلقه‌های تو در تو (Nested Loops)

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

for i in range(3):
    for j in range(2):
        print(f"i: {i}, j: {j}")

خروجی:

i: 0, j: 0
i: 0, j: 1
i: 1, j: 0
i: 1, j: 1
i: 2, j: 0
i: 2, j: 1

در اینجا، به ازای هر مقدار از i، حلقه داخلی j نیز دو بار اجرا می‌شود.

 

حلقه‌ For در پایتون یکی از ابزارهای بسیار کاربردی در پایتون است که برای پیمایش و کار با دنباله‌ها (لیست‌ها، رشته‌ها، دیکشنری‌ها و...) مورد استفاده قرار می‌گیرد. با استفاده از مفاهیمی مثل range(), break, continue, و حلقه‌های تو در تو، می‌توانید بسیاری از وظایف تکراری را به سادگی انجام دهید.