for التكرار عبر العناصر
آخر تحديث: 2026-09-22
for التكرار عبر العناصر
for يكرر عبر كائن قابل للتكرار (list/tuple/str/dict/set/مولّد)؛ ويمكن استخدامه مع else (يُنفَّذ عند عدم وجود break).
| التصنيف | الكلمات المفتاحية والعبارات |
|---|---|
| النوع | كلمة مفتاحية / عبارة |
| إصدار بايثون | all |
📝 الصياغة
for var in iterable:
block
[else:
block]
▶ مثال
عدّل الكود واضغط تشغيل لرؤية النتيجة في لوحة المخرجات:
المخرجات:
0 1 2
🏷️ كلمات مفتاحية / عبارات ذات صلة
💡 حالات ذات صلة
المزيد من الحالات قادم قريباً — تابعونا.
❓ أسئلة شائعة
Qعند التكرار على قاموس، ماذا تحصل عليه؟
Aافتراضيًا تحصل على المفاتيح. استخدم `d.values()` للقيم، و`d.items()` للحصول على المفاتيح والقيم معًا، على سبيل المثال `for k, v in d.items():`.
Qهل يمكن تعديل قائمة أثناء التكرار عليها؟
Aغير موصى به. إضافة أو حذف عناصر أثناء التكرار يتسبب في تخطي أو فقدان عناصر. الطريقة الشائعة هي التكرار على نسخة (`for x in lst[:]`) أو بناء قائمة جديدة باستخدام التعبير القائمي (list comprehension).
Qلماذا لا تحتوي حلقة `for` في بايثون على صيغة `i++` بأسلوب لغة C؟
Aلأن `for` في بايثون يتكرر على مكرّر (iterator) بدلاً من العدّ. تحصل على العدّ مباشرة عبر `for i in range(n)`، منتجًا من 0 إلى n-1. تنتهي الحلقة عندما ينفد المكرّر، وليس عندما يصبح تعبير الحالة خاطئًا.
Qمتى يُنفَّذ `else` بعد `for`؟
Aيُنفَّذ فقط عندما تُكمل جسم الحلقة جميع التكرارات دون تنفيذ `break`. على سبيل المثال، عند البحث عن عنصر في قائمة، إذا لم يُعثر عليه يقوم `else` بتوفير بديل.