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

من موسوعة حسوب
مراجعة 06:13، 19 يونيو 2018 بواسطة عبد اللطيف ايمش (نقاش | مساهمات) (←‏مصادر)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

تعيد الدّالة itertools.compress()‎ مُكرّرًا يُرشّح العناصر المتواجدة داخل الكائن القابل للتّكرار المُعطى مُعيدًا فقط تلك التي تملك عنصرًا مُحدّدًا يُساوي القيمة المنطقيّة True. ويتوقّف المُكرّر عندما تنتهي قيم البيانات المُعطاة أو قيم المُحدّدات.

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

itertools.compress(data, selectors)

المعاملات

data

البيانات التي ستُرشّح.

selectors

المُحدّدات التي تُحدّد ما إذا كانت البيانات ستنضم إلى المُكرّر المُعاد أو لا.

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

مُكرّر يحتوي على عناصر الكائن data التي تُساوي مُحدّداتها القيمة المنطقيّة True.

أمثلة

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

>>> data = itertools.compress('ABCDEF', [1,0,1,0,1,1])
>>> list(data)
['A', 'C', 'E', 'F']

ملاحظات

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

def compress(data, selectors):
    # compress('ABCDEF', [1,0,1,0,1,1]) --> A C E F
    return (d for d, s in zip(data, selectors) if s)

انظر أيضًا

مصادر