الدالة itertools.chain.from_iterable()‎ في بايثون

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث

تعيد الدّالة itertools.chain.from_iterable()‎ مُكرّرًا يُعيد عناصر الكائن القابل للتكرار الأول حتى تنتهيَ عناصره، ثمّ ينتقل إلى الكائن القابل للتّكرار التّالي إلى أن تنتهي قيّمه وهكذا… وتُستخدم لمُعالجة عدّة تسلسلات على أنّها تسلسل واحد مُستمرّ. وتُعدّ الدّالة طريقة بديلة للدّالة itertools.chain()‎، إذ تستقبل هذه الأخيرة عدّة مُعاملات عوضًا عن مُعامل واحد فقط.

البنية العامة

itertools.chain.from_iterable(iterable)

المعاملات

iterable

الكائن القابل للتّكرار المرغوب تحويل الكائنات التي بداخله إلى تسلسل واحد مُستمر.

القيمة المعادة

مُكرّر يحتوي على جميع عناصر الكائنات القابلة للتّكرار المتواجدة في الكائن المُمرّر.

أمثلة

المثال التّالي يوضّح كيفيّة عمل هذه الدّالة:

>>> c = itertools.chain.from_iterable(['abc', 'def'])
>>> list(c)
['a', 'b', 'c', 'd', 'e', 'f']

ملاحظات

الدّالة مُكافئة لما يلي:

def from_iterable(iterables):
    # chain.from_iterable(['ABC', 'DEF']) --> A B C D E F
    for it in iterables:
        for element in it:
            yield element

انظر أيضًا

مصادر