الدالة 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)