Python - Loop Lists

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

🔹 1️⃣ حلقه‌ی ساده for

رایج‌ترین و ساده‌ترین راه:

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

📌 خروجی:

apple banana cherry
  • مستقیماً هر عنصر را می‌خواند.

  • اندیس در دسترس نیست مگر اینکه از enumerate استفاده کنید.

🔹 2️⃣ حلقه با ()enumerate (همزمان اندیس و مقدار)

برای گرفتن هم اندیس هم مقدار:

for index, fruit in enumerate(fruits): print(index, fruit)

📌 خروجی:

0 apple 1 banana 2 cherry

🔹 3️⃣ حلقه با اندیس range(len())

روش قدیمی‌تر برای دسترسی به اندیس:

for i in range(len(fruits)): print(i, fruits[i])

🔹 4️⃣ حلقه روی یک کپی (هنگام ویرایش لیست)

اگر می‌خواهید هنگام تکرار لیست اصلی را تغییر دهید، روی کپی حلقه بزنید:

for fruit in fruits[:]: # یا list(fruits) if fruit == "banana": fruits.remove(fruit) print(fruits) # ['apple', 'cherry']

🔹 5️⃣ While Loop

حلقه‌ی while با استفاده از اندیس:

i = 0 while i < len(fruits): print(fruits[i]) i += 1

🔹 6️⃣ List Comprehension (حلقهٔ فشرده)

ساخت یک لیست جدید با استفاده از حلقهٔ درجا:

upper_fruits = [f.upper() for f in fruits] print(upper_fruits) # ['APPLE', 'BANANA', 'CHERRY']

🔹 7️⃣ حلقه تو در تو (Nested)

برای لیست‌های چندسطحی:

matrix = [[1, 2], [3, 4]] for row in matrix: for item in row: print(item)

✅ نکات مهم

  • از for … in … برای خواندن مستقیم مقادیر استفاده کنید (پایتونیک‌ترین روش).

  • اگر همزمان به اندیس نیاز دارید، enumerate بهترین انتخاب است.

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

  • List Comprehension برای ایجاد لیست جدید بسیار سریع و خوانا است.

💡 خلاصه:

  • for item in list → ساده‌ترین و متداول‌ترین روش

  • for i, item in enumerate(list) → گرفتن اندیس و مقدار

  • while یا range(len()) → کنترل دستی

  • List Comprehension → ساخت لیست جدید در یک خط

این تکنیک‌ها تمام حالت‌های Loop کردن روی لیست‌ها در پایتون را پوشش می‌دهند.