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

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

تعيد الدّالة 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)

انظر أيضًا

مصادر