دالة range() في Python: كيفية توليد تسلسلات الأرقام بسهولة
تمت الكتابة بواسطة: عبد الحكيم
تارخ آخر تحديث: 20 سبتمبر 2024محتوى المقال
- ما هي دالة range()؟
- أمثلة على استخدام range()
- توليد تسلسل تنازلي
- تحويل كائن range إلى قائمة
- توليد أرقام كبيرة بكفاءة باستخدام range()
- متى تستخدم range()؟
- مقارنة range() مع الطرق الأخرى لتوليد الأرقام
- الخلاصة
دالة range()
هي واحدة من أكثر الدوال شيوعًا واستخدامًا في لغة البرمجة Python. تستخدم هذه الدالة لتوليد تسلسل من الأرقام بسهولة وبطريقة مرنة. في هذا المقال، سنتعرف على كيفية استخدام range()
لتوليد تسلسلات مختلفة من الأرقام مع أمثلة توضيحية لتغطية جميع استخداماتها.
ما هي دالة range()
؟
دالة range()
تُستخدم لتوليد تسلسل من الأرقام. تعيد هذه الدالة كائنًا يمكن استخدامه في حلقات التكرار (for
loops) أو تحويله إلى قائمة باستخدام دالة list()
.
الصيغة العامة لدالة range()
هي:
range(start, stop, step)
start
: (اختياري) الرقم الذي يبدأ منه التسلسل. إذا لم يُذكر، يبدأ من الصفر.stop
: (إجباري) الرقم الذي يتوقف عنده التسلسل. الرقم الأخير في التسلسل سيكون أقل منstop
وليس مساويًا له.step
: (اختياري) الفاصل بين كل رقم والذي يحدد كيفية تقدم التسلسل. الافتراضي هو 1.
أمثلة على استخدام range()
مثال 1: توليد تسلسل بسيط
أبسط طريقة لاستخدام range()
هي باستخدام وسيط واحد وهو stop
لتوليد تسلسل من الأرقام التي تبدأ من 0 وتنتهي عند stop 1
.
for num in range(5):
print(num)
# الناتج: 0 1 2 3 4
في هذا المثال، يتم توليد تسلسل من الأرقام من 0 إلى 4.
مثال 2: تحديد نقطة البداية
يمكنك تحديد وسيطين، start
و stop
، لتوليد تسلسل يبدأ من start
وينتهي قبل stop
.
for num in range(2, 7):
print(num)
# الناتج: 2 3 4 5 6
في هذا المثال، يبدأ التسلسل من 2 وينتهي قبل 7.
مثال 3: استخدام خطوة معينة
عند تحديد step
، يمكنك التحكم في كيفية تقدم التسلسل. على سبيل المثال، يمكنك توليد تسلسل يتزايد بفاصل معين.
for num in range(1, 10, 2):
print(num)
# الناتج: 1 3 5 7 9
في هذا المثال، يبدأ التسلسل من 1 ويتزايد بفاصل 2 حتى 9.
توليد تسلسل تنازلي
يمكنك استخدام خطوة سالبة (step
) لتوليد تسلسل تنازلي من الأرقام. تذكر أن في هذه الحالة يجب أن يكون start
أكبر من stop
.
مثال 4: تسلسل تنازلي
لنقم بتوليد تسلسل تنازلي من 10 إلى 1:
for num in range(10, 0, -1):
print(num)
# الناتج: 10 9 8 7 6 5 4 3 2 1
في هذا المثال، يتم توليد تسلسل تنازلي من 10 إلى 1.
تحويل كائن range
إلى قائمة
يمكنك تحويل كائن range
إلى قائمة باستخدام دالة list()
إذا كنت بحاجة إلى التعامل مع التسلسل كقائمة.
مثال 5: تحويل range
إلى قائمة
لنقم بتوليد قائمة تحتوي على الأرقام من 0 إلى 9:
numbers = list(range(10))
print(numbers)
# الناتج: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
في هذا المثال، تم تحويل كائن range
إلى قائمة.
توليد أرقام كبيرة بكفاءة باستخدام range()
من أهم مميزات دالة range()
في Python أنها لا تولد القائمة كاملة في الذاكرة، بل تولد القيم المطلوبة عند الحاجة (توليد كسول أو lazy evaluation). هذا يجعل range()
فعالًا جدًا عند التعامل مع أعداد كبيرة.
مثال 6: توليد تسلسل كبير
على سبيل المثال، يمكن استخدام range()
لتوليد تسلسل كبير جداً بكفاءة:
for num in range(1, 1000000, 100000):
print(num)
# الناتج: 1 100001 200001 300001 400001 500001 600001 700001 800001 900001
في هذا المثال، تم توليد تسلسل من الأرقام بين 1 و 1,000,000 بفاصل 100,000.
متى تستخدم range()
؟
دالة range()
هي الخيار الأمثل عند الحاجة إلى:
- توليد تسلسل من الأرقام لأغراض التكرار في حلقات
for
. - توليد تسلسلات كبيرة دون استهلاك الذاكرة بشكل غير فعال.
- إنشاء تسلسلات متزايدة أو متناقصة بفواصل معينة.
مقارنة range()
مع الطرق الأخرى لتوليد الأرقام
على الرغم من أن دالة range()
هي الطريقة الأكثر شيوعًا لتوليد تسلسلات الأرقام في Python، إلا أنه يمكن استخدام طرق أخرى مثل التكرار باستخدام الحلقات التقليدية، لكن range()
توفر حلاً أكثر اختصارًا وفعالية.
مثال 7: توليد تسلسل باستخدام حلقة while
num = 0
while num < 5:
print(num)
num += 1
# الناتج: 0 1 2 3 4
على الرغم من أن هذه الطريقة تعمل بشكل جيد، فإن استخدام range()
يجعل الكود أكثر وضوحًا وأقل عرضة للأخطاء.
الخلاصة
تعتبر دالة range()
واحدة من أهم الدوال في Python لتوليد تسلسلات الأرقام بطريقة مرنة وفعالة. سواء كنت بحاجة إلى تسلسل بسيط من الأرقام أو تسلسلات معقدة بزيادة أو نقصان معينين، فإن range()
توفر لك أداة قوية وسهلة الاستخدام. كما أن كفاءة استخدام الذاكرة تجعلها الخيار الأمثل عند التعامل مع تسلسلات كبيرة.
طور مهاراتك: مقالات يجب قراءتها في البرمجة
- التعرف على نوع البيانات باستخدام دالة type() في Python
- تحويل النصوص إلى أرقام صحيحة باستخدام دالة int() في Python
- كيفية تحويل النصوص إلى أرقام عشرية باستخدام دالة float() في Python
- تحويل الأرقام إلى نصوص باستخدام دالة str() في Python
- كيفية استخدام دالة input() لجمع بيانات من المستخدم في Python
- إضافة عناصر إلى القوائم باستخدام دالة append() في Python
- دمج قوائم متعددة باستخدام دالة extend() في Python
- إدراج عنصر في قائمة باستخدام دالة insert() في Python
- حذف العناصر من القوائم باستخدام دالة pop() في Python
- إزالة عناصر معينة من القوائم باستخدام دالة remove() في Python