الفرق بين المراجعتين لصفحة: «Python/itertools/filterfalse»

من موسوعة حسوب
إضافة الصّفحة
 
 
(3 مراجعات متوسطة بواسطة مستخدم واحد آخر غير معروضة)
سطر 2: سطر 2:
تعيد الدّالة <code>itertools.filterfalse()‎</code> مُكرّرًا يُرشّح عناصر الكائن القابل للتّكرار المُعطى مُعيدًا تلك فقط التي تُعيد لها العبارة المنطقيّة المُعطاة القيمة المنطقيّة <code>False‎</code>.
تعيد الدّالة <code>itertools.filterfalse()‎</code> مُكرّرًا يُرشّح عناصر الكائن القابل للتّكرار المُعطى مُعيدًا تلك فقط التي تُعيد لها العبارة المنطقيّة المُعطاة القيمة المنطقيّة <code>False‎</code>.


هذه الدّالة تعمل بطريقة مُعاكسة للدّالة <code>filter()‎</code>.
هذه الدّالة تعمل بطريقة مُعاكسة للدّالة <code>[[Python/filter|filter()‎]]</code>.


== البنية العامة ==
== البنية العامة ==
سطر 13: سطر 13:
العبارة المنطقيّة (تكون عادة دالّة) تُحدّد ما إذا كان العنصر سيُعاد أو لا.
العبارة المنطقيّة (تكون عادة دالّة) تُحدّد ما إذا كان العنصر سيُعاد أو لا.


تُعاد العناصر فقط في حالة أعادت لها العبارة المنطقيّة المُعطاة القيمةَ <code>False‎</code>.
تُعاد العناصر فقط في حالة أَعَادت لها العبارة المنطقيّة المُعطاة القيمةَ <code>False‎</code>.


إن كانت قيمة هذا المُعامل تُساوي القيمة <code>None‎</code> فستُعاد العناصر التّي تُساوي قيمتها المنطقيّة القيمة <code>False‎</code>.
إن كانت قيمة هذا المُعامل تُساوي القيمة <code>None‎</code> فستُعاد العناصر التّي تُساوي [[Python/boolean|قيمتها المنطقيّة]] القيمة <code>False‎</code>.


=== <code>iterable</code> ===
=== <code>iterable</code> ===
الكائن القابل للتّكرار المرغوب ترشيحه.
الكائن القابل للتّكرار المرغوب ترشيح عناصره.


== القيمة المعادة ==
== القيمة المعادة ==
مُكرّر يحتوي على القيم التي أعادت لها  لها العبارة المنطقيّة المُعطاة القيمةَ <code>False‎</code>.
مُكرّر يحتوي على القيم التي أعادت لها  العبارة المنطقيّة المُعطاة القيمةَ <code>False‎</code>.


== أمثلة ==
== أمثلة ==
المثال التّالي يوضّح كيفيّة عمل هذه الدّالة، نستعمل هنا تعبير lambda لترشيح عناصر قائمة، العناصر التي يُعيدها المكرّر تكون ليست أكبر من 10:
المثال التّالي يوضّح كيفيّة عمل هذه الدّالة، نستعمل هنا [[Python/lambda expressions|تعبير lambda]] لترشيح عناصر قائمة، العناصر التي يُعيدها المكرّر '''''ليست''''' أكبر من <code>10</code>:
<syntaxhighlight lang="python3">
<syntaxhighlight lang="python3">
>>> it = itertools.filterfalse(lambda x: x>10, [1, 4, 40, 5, 50, 65])
>>> it = itertools.filterfalse(lambda x: x>10, [1, 4, 40, 5, 50, 65])
سطر 45: سطر 45:
== انظر أيضًا ==
== انظر أيضًا ==
* [[Python/iterators|المكرِّرات Iterators في بايثون]].
* [[Python/iterators|المكرِّرات Iterators في بايثون]].
* [[Python/filter|الدالة filter()‎ في بايثون]].
* [[Python/generators|المولدات Generators في بايثون]].
* [[Python/generators|المولدات Generators في بايثون]].
* [[Python/boolean|القيم المنطقيّة]].
* [[Python/lambda expressions|تعبير lambda]].
* الدّالة <code>[[Python/filter|filter()]]</code>‎: لترشيح عناصر كائن قابل للتّكرار حسب تعبير شرطيّ.


== مصادر ==
== مصادر ==
سطر 52: سطر 54:
[[تصنيف:Python]]
[[تصنيف:Python]]
[[تصنيف:Python Function]]
[[تصنيف:Python Function]]
[[تصنيف:Python Built-in Functions]]
[[تصنيف:Python itertools]]

المراجعة الحالية بتاريخ 06:13، 19 يونيو 2018

تعيد الدّالة itertools.filterfalse()‎ مُكرّرًا يُرشّح عناصر الكائن القابل للتّكرار المُعطى مُعيدًا تلك فقط التي تُعيد لها العبارة المنطقيّة المُعطاة القيمة المنطقيّة False‎.

هذه الدّالة تعمل بطريقة مُعاكسة للدّالة filter()‎.

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

itertools.filterfalse(predicate, iterable)

المعاملات

predicate

العبارة المنطقيّة (تكون عادة دالّة) تُحدّد ما إذا كان العنصر سيُعاد أو لا.

تُعاد العناصر فقط في حالة أَعَادت لها العبارة المنطقيّة المُعطاة القيمةَ False‎.

إن كانت قيمة هذا المُعامل تُساوي القيمة None‎ فستُعاد العناصر التّي تُساوي قيمتها المنطقيّة القيمة False‎.

iterable

الكائن القابل للتّكرار المرغوب ترشيح عناصره.

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

مُكرّر يحتوي على القيم التي أعادت لها العبارة المنطقيّة المُعطاة القيمةَ False‎.

أمثلة

المثال التّالي يوضّح كيفيّة عمل هذه الدّالة، نستعمل هنا تعبير lambda لترشيح عناصر قائمة، العناصر التي يُعيدها المكرّر ليست أكبر من 10:

>>> it = itertools.filterfalse(lambda x: x>10, [1, 4, 40, 5, 50, 65])
>>> list(it)
[1, 4, 5]

ملاحظات

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

def filterfalse(predicate, iterable):
    # filterfalse(lambda x: x%2, range(10)) --> 0 2 4 6 8
    if predicate is None:
        predicate = bool
    for x in iterable:
        if not predicate(x):
            yield x

انظر أيضًا

مصادر