zip() التكرار المتوازي
آخر تحديث: 2026-09-22
zip() التكرار المتوازي
zip(*iterables) يجمع عدة كائنات قابلة للتكرار «بالتوازي» في مُكرِّر صفوف (يُقطع حسب الأقصر)؛ وعند strict=True يُشترط تساوي الأطوال.
| التصنيف | الدوال المدمجة |
|---|---|
| النوع | دالة مدمجة |
| إصدار بايثون | 3.10+ |
📝 الصياغة
zip(*iterables, strict=False)
⚙️ المعاملات
| iterables مطلوب | Varargs: multiple iterables combined in parallel. |
|---|---|
| strict اختياري | When True, require equal lengths (Python 3.10+).(القيمة الافتراضية:False) |
القيمة المُعادة:An iterator of tuples pairing same-index elements; stops at the shortest input.
💥 الاستثناءات
ValueError— Raised when strict=True and lengths differ.
▶ مثال
عدّل الكود واضغط تشغيل لرؤية النتيجة في لوحة المخرجات:
المخرجات:
a 1
b 2
c 3
🏷️ دوال مدمجة ذات صلة
💡 حالات ذات صلة
المزيد من الحالات قادم قريباً — تابعونا.
❓ أسئلة شائعة
Qماذا تفعل zip() مع تسلسلين مختلفي الطول؟
Aافتراضيًا تقطع عند الأقصر وتتخلص من العناصر الزائدة — مثل zip('abc', '12') لا تُنتج إلا ('a','1') و ('b','2')؛ لإثارة خطأ صريح استخدم zip(a, b, strict=True) (بايثون 3.10+).
Qما الذي تفعله zip(*lst)؟
Aتفك وتحوّل: zip(*[(1, 'a'), (2, 'b')]) تعطي (1, 2) و ('a', 'b')، محوّلة «الصفوف» إلى «أعمدة» — شائعة في تبديل المصفوفات.
Qماذا تُرجع zip()؟
Aتُرجع مكرر zip (كسول)؛ للقائمة استخدم list(zip(...))؛ استدعاؤها بدون وسيطات يُرجع مكررًا فارغًا.
Qكم عدد القوائم التي يمكن لـ zip() عبورها في آن واحد؟
Aأي عدد: for a, b, c in zip(x, y, z): يسحب القيم بالتوازي — وهو النمط القياسي لعبور عدة تسلسلات معًا.