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

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


تُستعمل عوضًا عن الدّالة [[Python/map|الدالة <code>map()‎</code>]] عندما تكون المُعطيات مُجموعةً في صفوف في كائن واحد قابل للتّكرار (أي أنّ البيانات قد جُمِّعَت مُسبقًا).
تُستعمل عوضًا عن [[Python/map|الدالة <code>map()‎</code>]] عندما تكون قيم المُعاملات مُجموعةً في [[Python/tuples|صفّ]] في كائن واحد قابل للتّكرار (أي أنّ البيانات قد جُمِّعَت مُسبقًا).


الفرق بين الدّالة [[Python/map|الدالة <code>map()‎</code>]] والدّالة <code>itertools.starmap()‎</code> يُوازي الفرق بين الاستدعاء <code>function(a,b)‎‎</code> والاستدعاء  <code>function(*c)‎‎</code>.
الفرق بين [[Python/map|الدالة <code>map()‎</code>]] والدّالة <code>itertools.starmap()‎</code> يُوازي الفرق بين الاستدعاء <code>function(a,b)‎‎</code> والاستدعاء  <code>function(*c)‎‎</code>.


== البنية العامة ==
== البنية العامة ==
سطر 40: سطر 40:
* [[Python/iterators|المكرِّرات Iterators في بايثون]].
* [[Python/iterators|المكرِّرات Iterators في بايثون]].
* [[Python/generators|المولدات Generators في بايثون]].
* [[Python/generators|المولدات Generators في بايثون]].
* [[Python/map|الدالة <code>map()‎</code> في بايثون]]: تُطبّق دالة على كلّ عنصر من عناصر الكائن القابل للتّكرار.
* الدالة <code>[[Python/map|map()]]‎</code>: تُطبّق دالة على كلّ عنصر من عناصر الكائن القابل للتّكرار.
* [[Python/pow|الدالة <code>pow()‎</code> في بايثون]]: تُطبّق دالة على كلّ عنصر من عناصر الكائن القابل للتّكرار.
* الدالة <code>[[Python/pow|pow()]]‎</code>: تُطبّق دالة على كلّ عنصر من عناصر الكائن القابل للتّكرار.


== مصادر ==
== مصادر ==
سطر 47: سطر 47:
[[تصنيف:Python]]
[[تصنيف:Python]]
[[تصنيف:Python Function]]
[[تصنيف:Python Function]]
[[تصنيف:Python Modules]]
[[تصنيف:Python itertools]]
[[تصنيف:Python itertools]]

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

تعيد الدّالة itertools.starmap()‎ مُكرّرًا يستدعي الدّالة باستخدام المُعاملات المُعطاة في الكائن القابل للتّكرار.

تُستعمل عوضًا عن الدالة map()‎ عندما تكون قيم المُعاملات مُجموعةً في صفّ في كائن واحد قابل للتّكرار (أي أنّ البيانات قد جُمِّعَت مُسبقًا).

الفرق بين الدالة map()‎ والدّالة itertools.starmap()‎ يُوازي الفرق بين الاستدعاء function(a,b)‎‎ والاستدعاء function(*c)‎‎.

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

itertools.starmap(function, iterable)

المعاملات

function

الدّالة المُراد استدعاؤها.

iterable

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

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

مُكرّر يُعيد نتائج استدعاء الدّالة واحدة بواحدة.

أمثلة

المثال التّالي يوضّح كيفيّة عمل هذه الدّالة (انظر الدالة pow()‎):

>>> list(itertools.starmap(pow, [(2,5), (3,2), (10,3)]))
[32, 9, 1000]

ملاحظات

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

def starmap(function, iterable):
    # starmap(pow, [(2,5), (3,2), (10,3)]) --> 32 9 1000
    for args in iterable:
        yield function(*args)

انظر أيضًا

مصادر