الفرق بين المراجعتين لصفحة: «Python/looping techniques»
طلا ملخص تعديل |
طلا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:الدوال المساعدة في الحلقات التكرارية}}</noinclude> | <noinclude>{{DISPLAYTITLE:الدوال المساعدة في الحلقات التكرارية}}</noinclude> | ||
تقدّم بايثون مجموعة من الدوال والتوابع التي تسهّل عملية إنشاء الحلقات التكرارية والاستفادة منها بصورة فعّالة في [[Python/dict|القواميس]] و<nowiki/>[[Python/list|القوائم]] وغيرها | تقدّم بايثون مجموعة من الدوال والتوابع التي تسهّل عملية إنشاء الحلقات التكرارية والاستفادة منها بصورة فعّالة في [[Python/dict|القواميس]] و<nowiki/>[[Python/list|القوائم]] وغيرها. | ||
== التابع <code>items()</code> == | == التابع <code>items()</code> == |
مراجعة 11:24، 17 مارس 2018
تقدّم بايثون مجموعة من الدوال والتوابع التي تسهّل عملية إنشاء الحلقات التكرارية والاستفادة منها بصورة فعّالة في القواميس والقوائم وغيرها.
التابع items()
عند المرور على عناصر قاموس، يمكن الحصول على المفتاح والقيمة المرتبطة به في نفس الوقت باستخدام التابع items()
:
>>> knights = {'gallahad': 'the pure', 'robin': 'the brave'}
>>> for k, v in knights.items():
... print(k, v)
...
gallahad the pure
robin the brave
الدالة enumerate()
يمكن الحصول على موقع الفهرس والقيمة المرتبطة به في نفس الوقت عند المرور على عناصر تسلسل معيّن باستخدام الدالة enumerate()
:
>>> for i, v in enumerate(['tic', 'tac', 'toe']):
... print(i, v)
...
0 tic
1 tac
2 toe
الدالة zip()
للمرور على عناصر تسلسلين أو أكثر في الوقت نفسه يمكن جمع المدخلات باستخدام الدالة zip()
:
>>> questions = ['name', 'quest', 'favorite color']
>>> answers = ['lancelot', 'the holy grail', 'blue']
>>> for q, a in zip(questions, answers):
... print('What is your {0}? It is {1}.'.format(q, a))
...
What is your name? It is lancelot.
What is your quest? It is the holy grail.
What is your favorite color? It is blue.
الدالة reversed()
يمكن المرور بصورة عكسية على عناصر تسلسل معيّن باستخدام الدالة reversed()
، ولكن يجب في البداية تعيين التسلسل بالاتجاه الأمامي ثم استدعاء هذه الدالة لعكس الاتجاه:
>>> for i in reversed(range(1, 10, 2)):
... print(i)
...
9
7
5
3
1
الدالة sorted()
للمرور على عناصر تسلسل معيّن بطريقة مرتّبة، يمكن استخدام الدالة sorted()
التي تعيد قائمة جديدة مرتّبة، ولا تقوم بتغيير ترتيب القائمة الأصلية:
>>> basket = ['apple', 'orange', 'apple', 'pear', 'orange', 'banana']
>>> for f in sorted(set(basket)):
... print(f)
...
apple
banana
orange
pear
من الممكن إجراء تغييرات على القائمة أثناء المرور على عناصرها، ولكن إنشاء قائمة جديدة تعدّ طريقة أبسط وأكثر أمانًا:
>>> import math
>>> raw_data = [56.2, float('NaN'), 51.7, 55.3, 52.5, float('NaN'), 47.8]
>>> filtered_data = []
>>> for value in raw_data:
... if not math.isnan(value):
... filtered_data.append(value)
...
>>> filtered_data
[56.2, 51.7, 55.3, 52.5, 47.8]
مصادر
- صفحة Data Structures في توثيق بايثون الرسمي.