الفرق بين المراجعتين ل"Python/max"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(إضافة الصّفحة)
 
سطر 13: سطر 13:
  
 
=== <code>key</code> ===
 
=== <code>key</code> ===
مُعامل اختياريّ يُمرّر بكلمته المفتاحيّة (keyword-only argument) يُمثّل دالّة تقبل مُعاملًا واحدًا  لتُستخدم في ترتيب العناصر المُعطاة مثل الدّالة <code>‎list‎.‎sort‎(‎)‎</code>.
+
مُعامل اختياريّ يُمرّر بكلمته المفتاحيّة (keyword-only argument) يُمثّل دالّة تقبل مُعاملًا واحدًا  لتُستخدم في ترتيب العناصر المُعطاة مثل الدّالة <code>[[Python/list/sort|‎list‎.‎sort‎(‎)‎]]</code>.
  
 
=== <code>default</code> ===
 
=== <code>default</code> ===
 
مُعامل اختياريّ يُمرّر بكلمته المفتاحيّة ويُمثّل القيمة التي ستُعاد افتراضيًّا إن كان الكائن القابل للتّكرار المُعطى فارغًا.
 
مُعامل اختياريّ يُمرّر بكلمته المفتاحيّة ويُمثّل القيمة التي ستُعاد افتراضيًّا إن كان الكائن القابل للتّكرار المُعطى فارغًا.
 +
 
إن كان الكائن القابل للتّكرار المُعطى فارغًا ولم تُمرّر قيمة للمُعامل <code>default</code>، فسيُطلق استثناء [[Python/ValueError|ValueError]].
 
إن كان الكائن القابل للتّكرار المُعطى فارغًا ولم تُمرّر قيمة للمُعامل <code>default</code>، فسيُطلق استثناء [[Python/ValueError|ValueError]].
  
 
== القيمة المعادة ==
 
== القيمة المعادة ==
 
أكبر عنصر من العناصر المُعطاة.
 
أكبر عنصر من العناصر المُعطاة.
إن كان هناك أكثر من عنصر قصويّ واحد، فسيُعاد أولها. وهذا متوافق مع أدوات التّرتيب الحافظة للتّوازن (sort-stability preserving tools) مثل الطرّيقتين الآتيتين (انظر الدّالة sorted والوحدة heapq):
+
 
 +
إن كان هناك أكثر من عنصر قصويّ واحد، فسيُعاد أولها. وهذا متوافق مع أدوات التّرتيب الحافظة للتّوازن (sort-stability preserving tools) مثل الطرّيقتين الآتيتين (انظر الدّالة <code>sorted</code> والوحدة <code>[[Python/heapq|heapq]]</code>):
 
<syntaxhighlight lang="python3">
 
<syntaxhighlight lang="python3">
 
sorted(iterable, key=keyfunc, reverse=True)[0]
 
sorted(iterable, key=keyfunc, reverse=True)[0]
سطر 27: سطر 29:
 
heapq.nlargest(1, iterable, key=keyfunc)
 
heapq.nlargest(1, iterable, key=keyfunc)
 
</syntaxhighlight>
 
</syntaxhighlight>
 
 
 
== أمثلة ==
 
== أمثلة ==
 
المثال التّالي يوضّح كيفيّة عمل هذه الدّالة:
 
المثال التّالي يوضّح كيفيّة عمل هذه الدّالة:
 
<syntaxhighlight lang="python3">
 
<syntaxhighlight lang="python3">
>>> max(0, 2, 4, 3)
+
>>> max(0, 2, 4, 3) # معاملات مُتعدّدة
 
4
 
4
>>> max([0, 2, 4, 3])
+
>>> max([0, 2, 4, 3]) # قائمة
 
4
 
4
>>> max([], default=0)
+
>>> max([], default=0) # قائمة فراغة والقيمة الافتراضيّة هي صفر
 
0
 
0
 
</syntaxhighlight>
 
</syntaxhighlight>

مراجعة 19:16، 6 مايو 2018

تعيد الدّالة max()‎ أكبر عنصر من عناصر كائن قابل للتّكرار أو أكبر مُعامل من مُعاملين أو أكثر.

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

max(iterable, *[, key, default]) # كائن قابل للتّكرار كمُعامل أوّل
max(arg1, arg2, *args[, key]) # مُعاملات منفردة

المعاملات

iterable

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

key

مُعامل اختياريّ يُمرّر بكلمته المفتاحيّة (keyword-only argument) يُمثّل دالّة تقبل مُعاملًا واحدًا لتُستخدم في ترتيب العناصر المُعطاة مثل الدّالة ‎list‎.‎sort‎(‎)‎.

default

مُعامل اختياريّ يُمرّر بكلمته المفتاحيّة ويُمثّل القيمة التي ستُعاد افتراضيًّا إن كان الكائن القابل للتّكرار المُعطى فارغًا.

إن كان الكائن القابل للتّكرار المُعطى فارغًا ولم تُمرّر قيمة للمُعامل default، فسيُطلق استثناء ValueError.

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

أكبر عنصر من العناصر المُعطاة.

إن كان هناك أكثر من عنصر قصويّ واحد، فسيُعاد أولها. وهذا متوافق مع أدوات التّرتيب الحافظة للتّوازن (sort-stability preserving tools) مثل الطرّيقتين الآتيتين (انظر الدّالة sorted والوحدة heapq):

sorted(iterable, key=keyfunc, reverse=True)[0]

heapq.nlargest(1, iterable, key=keyfunc)

أمثلة

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

>>> max(0, 2, 4, 3) # معاملات مُتعدّدة
4
>>> max([0, 2, 4, 3]) # قائمة
4
>>> max([], default=0) # قائمة فراغة والقيمة الافتراضيّة هي صفر
0

انظر أيضًا

مصادر