القائمة الرئيسية

الصفحات

الكلاس list والكلاس tuple في بايثون

مفهوم الكلاس list في بايثون

الـ list عبارة عن مصفوفة ليس لها حجم ثابت, يمكنها تخزين قيم من مختلف الأنواع في وقت واحد و يمكنك تبديل قيمها متى شئت.


طريقة تعريف list

لتعريف list نستخدم الرمز [ ].
بداخل هذا الرمز يمكنك تمرير القيم بشكل مباشر له بشرط وضع فاصلة بين كل عنصرين. و يمكنك تحديد نوع و عدد العناصر التي تريد وضعها فيه فقط.


في المثال التالي قمنا بتعريف list فارغ, أي لا يحتوي أي عنصر.

المثال الأول

Test.py
A = []        # A فارغ إسمه list هنا قمنا بتعريف
	  print(A)      # ( أي كما قمنا بتعريفه ) كما هو A هنا قمنا بعرض ما يحتويه الكائن
	

سنحصل على النتيجة التالية عند التشغيل.

[]


في المثال التالي قمنا بتعريف list وضعنا فيه أعداد صحيحة.

المثال الثاني

Test.py
numbers = [10, 20, 30, 40, 50]       # يحتوي على أعداد صحيحة فقط numbers إسمه list هنا قمنا بتعريف
	  print(numbers)                       # ( أي كما قمنا بتعريفه ) كما هو numbers هنا قمنا بعرض محتوى الكائن
	

سنحصل على النتيجة التالية عند التشغيل.

[10, 20, 30, 40, 50]


في المثال التالي قمنا بتعريف list وضعنا فيه نصوص.

المثال الثالث

Test.py
names = ['Rami', 'Sara', 'Nada']      # يحتوي على نصوص فقط names إسمه list هنا قمنا بتعريف
	  print(names)                          # ( أي كما قمنا بتعريفه ) كما هو names هنا قمنا بعرض ما يحتويه الكائن
	

سنحصل على النتيجة التالية عند التشغيل.

['Rami', 'Sara', 'Nada']


في المثال التالي قمنا بتعريف list وضعنا فيه أعداد صحيحة و نصوص.

المثال الرابع

Test.py
data = [1, 'Mhamad', 'Harmush', 1500]      # يحتوي على أعداد صحيحة و نصوص data إسمه list هنا قمنا بتعريف
	  print(data)                                # ( أي كما قمنا بتعريفه ) كما هو data هنا قمنا بعرض ما يحتويه الكائن
	

سنحصل على النتيجة التالية عند التشغيل.

[1, 'Mhamad', 'Harmush', 1500]


في المثال التالي قمنا بتعريف list إسمه data و يتألف من 4 عناصر. ثم قمنا بإعطائه 4 قيم مختلفة في النوع.
ملاحظة: الكلمة None وضعنا للإشارة إلى أننا لا نريد وضع قيم إفتراضية للعناصر الموجودة في hgJ list.

المثال الخامس

Test.py
# يتألف من 4 عناصر ,None قيمه الإفتراضية هي ,data إسمه list هنا قمنا بتعريف
	  data = [None] * 4

	  # هنا قمنا بوضع قيمة مختلفة في كل عنصر فيه
	  data[0] = 100
	  data[1] = 5.5
	  data[2] = True
	  data[3] = 'Hello'

	  # data هنا قمنا بعرض ما يحتويه الكائن
	  print(data)
	

سنحصل على النتيجة التالية عند التشغيل.

[100, 5.5, True, 'Hello']


في المثال التالي قمنا بتعريف list إسمه numbers, قيم عناصره الإفتراضية هي 0, و يتألف من 3 عناصر, ثم قمنا بإعطائه 3 أعداد صحيحة.

المثال السادس

Test.py
# يتألف من 3 عناصر قيمتها الإفتراضية هي 0 ,numbers إسمه list هنا قمنا بتعريف
	  numbers = [0] * 3

	  # هنا قمنا بوضع قيمة مختلفة في كل عنصر فيه
	  numbers[0] = 10
	  numbers[1] = 15
	  numbers[2] = 20

	  # numbers هنا قمنا بعرض ما يحتويه الكائن
	  print(numbers)
	

سنحصل على النتيجة التالية عند التشغيل.

[10, 15, 20]


في المثال التالي قمنا بتعريف list, إسمه languages, قيم عناصره الإفتراضية هي 'Not Specified', و يتألف من 3 عناصر, ثم قمنا بإعطائه 3 قيم نصية.

المثال السابع

Test.py
# 'Not Specified' يتألف من 3 عناصر قيمتها الإفتراضية هي ,languages إسمه list هنا قمنا بتعريف
	  languages = ['Not Specified'] * 3

	  # هنا قمنا بوضع قيمة مختلفة في كل عنصر فيه
	  languages[0] = 'Arabic'
	  languages[1] = 'English'
	  languages[2] = 'French'

	  # languages هنا قمنا بعرض ما يحتويه الكائن
	  print(languages)
	

سنحصل على النتيجة التالية عند التشغيل.

['Arabic', 'English', 'French']

الوصول لعناصر الـ list في بايثون

للوصول لأي عنصر في الـ list سواء للحصول على قيمته أو تغييرها فإننا نستخدم رقم الـ Index الخاص بالعنصر.

في بايثون, يمكنك الوصول للعناصر الموجودة في الـ list بطريقتين:

  • في حال أردت الوصول لعناصر الـ list من اليسار إلى اليمين, أي من أول عنصر تم إدخاله, فإن الـ Index لأول عنصر سيكون 0.

  • في حال أردت الوصول لعناصر الـ list من اليمين إلى اليسار, أي من آخر عنصر تم إدخاله, فإن الـ Index لآخر عنصر سيكون 1-.



في المثال التالي قمنا بتعريف list وضعنا فيه نصوص. بعدها قمنا بعرض قيمة أول و ثاني عنصر فيه.

المثال الأول

Test.py
# وضعنا فيه قيم نصية تمثل أسماء أشخاص names إسمه list هنا قمنا بتعريف
	  names = ['Rami', 'Sara', 'Nada', 'Mhamad', 'Salem']

	  print(names[0])     # names هنا قمنا بعرض قيمة أول عنصر موجود في الكائن
	  print(names[1])     # names هنا قمنا بعرض قيمة ثاني عنصر موجود في الكائن
	

سنحصل على النتيجة التالية عند التشغيل.

Rami
Sara


في المثال التالي قمنا بتعريف list وضعنا فيه نصوص. بعدها قمنا بعرض قيمة آخر و قبل آخر عنصر فيه.

المثال الثاني

Test.py
# وضعنا فيه قيم نصية تمثل أسماء أشخاص names إسمه list هنا قمنا بتعريف
	  names = ['Rami', 'Sara', 'Nada', 'Mhamad', 'Salem']

	  print(names[-1])     # names هنا قمنا بعرض قيمة آخر عنصر موجود في الكائن
	  print(names[-2])     # names هنا قمنا بعرض قيمة ما قبل آخر عنصر موجود في الكائن
	

سنحصل على النتيجة التالية عند التشغيل.

Salem
Mhamad


في المثال التالي قمنا بتعريف list وضعنا فيه نصوص. بعدها قمنا بعرض جميع القيم الموضوعة فيه باستخدام الحلقة for.

المثال الثالث

Test.py

	  # وضعنا فيه قيم نصية تمثل أسماء أشخاص names إسمه list هنا قمنا بتعر
	  names = ['Rami', 'Sara', 'Nada', 'Mhamad', 'Salem']

	  # و من ثم سيتم طباعتها x في المتغير names في كل مرة سيتم وضع قيمة عنصر من عناصر الكائن
	  for x in names:
	  print(x)
	

سنحصل على النتيجة التالية عند التشغيل.

Rami
Sara
Nada
Mhamad
Salem


في المثال التالي قمنا بتعريف list وضعنا فيه أعداد صحيحة. بعدها قمنا بحساب ناتج جمع جميع القيم الموضوعة فيه باستخدام الحلقة for.

المثال الرابع

Test.py
# وضعنا فيه أعداد صحيحة numbers إسمه list هنا قمنا بتعريف
	  numbers = [10, 20, 30, 40, 50]

	  # numbers هنا قمنا بتعريف متغير سنستخدمه لحفظ ناتج جمع القيم الموجودة في الكائن
	  total = 0

	  # total و من ثم سيتم إضافتها على قيمة المتغير x في المتغير numbers في كل مرة سيتم وضع قيمة عنصر من عناصر الكائن
	  for x in numbers:
	  total += x

	  # numbers و التي ستساوي ناتج جمع القيم الموجودة في الكائن total هنا قمنا بطباعة قيمة المتغير
	  print('Total sum is:', total)
	

سنحصل على النتيجة التالية عند التشغيل.

Total sum is: 150

حذف عناصر الـ list بواسطة الجملة del في بايثون

الجملة del تستخدم لحذف المصفوفة كما هي من الذاكرة أو لحذف عناصر محددة منها.


إنتبه

عند حذف عنصر في list بواسطة الجملة del فإن مترجم لغة بايثون يقوم بإعادة ترتيب عناصره من جديد و تحديث رقم الـ Index الخاص بكل عنصر.


في المثال التالي قمنا بتعريف list وضعنا فيه أرقام. بعدها قمنا بحذف عنصرين منه.

المثال الأول

Test.py
# وضعنا فيه أعداد صحيحة arr إسمه list هنا قمنا بتعريف
	  arr = [10, 20, 30, 40, 50]

	  del arr[0]    # arr هنا قمنا بحذف أول عنصر موجود في الكائن
	  del arr[1]    # arr هنا قمنا بحذف ثاني عنصر موجود في الكائن

	  print(arr)    # arr هنا قمنا بعرض ما يحتويه الكائن
	

سنحصل على النتيجة التالية عند التشغيل.

[20, 40, 50]

الصورة التالية توضح كيف تم إلغاء العناصر.

في المثال التالي قمنا بتعريف list وضعنا فيه أرقام. بعدها قمنا بحذف العناصر الموجودة فيه إبتداءاً من العنصر الذي يملك Index رقم 0 وصولاً إلى العنصر الموجود قبل العنصر الذي يملك Index رقم 3. أي قمنا بحذف العناصر arr[0] - arr[1] - arr[2] دفعة واحدة.

المثال الثاني

Test.py
# وضعنا فيه أعداد صحيحة arr إسمه list هنا قمنا بتعريف
	  arr = [10, 20, 30, 40, 50]

	  del arr[0:3]    # arr هنا قمنا بحذف أول ثلاث عناصر موجودة في الكائن

	  print(arr)      # arr هنا قمنا بعرض ما يحتويه الكائن
	

سنحصل على النتيجة التالية عند التشغيل.

[40, 50]

الصورة التالية توضح كيف تم إلغاء العناصر.

في المثال التالي قمنا بتعريف list وضعنا فيه أرقام. بعدها قمنا بحذفه من الذاكرة. بعدها حاولنا أن نعرض ما يحتويه.

المثال الثالث

Test.py
# وضعنا فيه أعداد صحيحة arr إسمه list هنا قمنا بتعريف
	  arr = [10, 20, 30, 40, 50]

	  del arr       # كما هو من الذاكرة arr هنا قمنا بحذف الكائن

	  print(arr)    # و الذي في الأصل قمنا بحذفه من الذاكرة لذلك سيظهر خطأ عند التشغيل arr هنا حاولنا عرض ما يحتويه الكائن
	

سنحصل على النتيجة التالية عند التشغيل.

NameError: name 'arr' is not defined

تجزيء الـ list في بايثون

المقصود من تجزيء الـ list هو إرجاع جزء منه سواء لعرضه أو تخزينه.


في المثال التالي قمنا بتعريف list وضعنا فيه أرقام. بعدها قمنا بعرض جزء منه.
فعلياً قمنا بعرض العناصر الموجودة فيه إبتداءاً من العنصر الذي يملك Index رقم 0 وصولاً إلى العنصر الموجود قبل العنصر الذي يملك Index رقم 3.
أي قمنا بعرض قيم العناصر arr[0] - arr[1] - arr[2].

المثال الأول

Test.py
arr = [10, 20, 30, 40, 50]    # وضعنا فيه أعداد صحيحة arr إسمه list هنا قمنا بتعريف

	  print(arr[0: 3])              # arr هنا قمنا بعرض أول ثلاث عناصر موجودة في الكائن
	

سنحصل على النتيجة التالية عند التشغيل.

[10, 20, 30]


في المثال التالي قمنا بتعريف list وضعنا فيه أرقام. بعدها قمنا بنسخ جزء منه و وضعه في list ثانية.
فعلياً قمنا بنسخ العناصر الموجودة فيه إبتداءاً من العنصر الذي يملك Index رقم 0 وصولاً إلى العنصر الموجود قبل العنصر الذي يملك Index رقم 3.
أي قمنا بنسخ قيم العناصر arr[0] - arr[1] - arr[2].

المثال الثاني

Test.py
arr = [10, 20, 30, 40, 50]    # وضعنا فيه أعداد صحيحة arr إسمه list هنا قمنا بتعريف

	  arr2 = arr[0: 3]              # arr2 و وضعها في كائن جديد إسمه arr هنا قمنا بنسخ أول ثلاث عناصر موجودة في الكائن

	  print(arr2)                   # arr2 هنا قمنا بعرض ما يحتويه الكائن
	

سنحصل على النتيجة التالية عند التشغيل.

[10, 20, 30]

إستخدام العوامل + و * و in مع الـ list في بايثون


العامل دواعي الإستخدام
+ العامل + يستخدم لدمج list أو أكثر في list واحد.
* العامل * يستخدم لتكرار قيمة معينة أو نوع بيانات معين ليمثل نوع القيم التي يمكن وضعها في عناصر الـ list كما فعلنا في بعض الأمثلة السابقة.
in العامل in يستخدم للبحث في الـ list عن قيمة معينة أو للمرور على قيمه عند إستخدامه في الحلقة for كما فعلنا في بعض الأمثلة السابقة.

في المثال التالي قمنا بتخزين إثنين list في list واحد بواسطة العامل +.

المثال الأول

Test.py
arr1 = [1, 2, 3]      # وضعنا فيه أعداد صحيحة arr1 إسمه list هنا قمنا بتعريف
	  arr2 = [4, 5, 6]      # وضعنا فيه أعداد صحيحة arr2 إسمه list هنا قمنا بتعريف

	  arr3 = arr1 + arr2    # arr2 و arr1 وضعنا فيه قيم الكائنين arr3 إسمه list هنا قمنا بتعريف

	  print(arr3)           # arr3 هنا قمنا بعرض ما يحتويه الكائن
	

سنحصل على النتيجة التالية عند التشغيل.

[1, 2, 3, 4, 5, 6]


في المثال التالي قمنا بتعريف list وضعنا فيه 3 عناصر تملك 'python' كقيمة لهم بواسطة العامل *.

المثال الثاني

Test.py
arr = ['python'] * 3     # 'python' وضعنا فيه 3 عناصر قيمتهم النص arr إسمه list هنا قمنا بتعريف

	  print(arr)               # arr هنا قمنا بعرض ما يحتويه الكائن
	

سنحصل على النتيجة التالية عند التشغيل.

['python', 'python', 'python']


في المثال التالي إستخدمنا العامل in للبحث في الـ list عن قيمة معينة.

المثال الثالث

Test.py
arr = ['Mhamad', 'Rony', 'Rima', 'Sara']     # وضعنا فيه مجموعة قيم نصية arr إسمه list هنا قمنا بتعريف

	  x = 'Rima'                                   # وضعنا فيه نص x هنا قمنا بتعريف متغير إسمه

	  print('Is Rima in the list?')
	  print(x in arr)                              # True إذا تم إيجادها سيتم عرض .arr في الكائن x هنا سيتم البحث عن قيمة
	

سنحصل على النتيجة التالية عند التشغيل.

Is Rima in the list?
True

دوال الكلاس list في بايثون

إسم الدالة مع تعريفها
append(obj) تستخدم لإضافة عنصر جديد في آخر الـlist الذي قام باستدعائها.
شاهد المثال »
extend(iterable) تستخدم لإضافة عناصر مصفوفة من أي نوع في آخر الـlist الذي قام باستدعائها.
شاهد المثال »
insert(index, obj) تستخدم لإضافة عنصر جديد في مكان محدد في الـlist الذي قام باستدعائها.
شاهد المثال »
pop([index]) تستخدم لحذف عنصر محدد في الـlist الذي قام باستدعائها, أو لحذف آخر عنصر موجود فيه.
شاهد المثال »
clear() تستخدم لحذف جميع عناصر الـlist الذي قام باستدعائها.
شاهد المثال »
copy() ترجع نسخة من الـlist الذي قام باستدعائها.
شاهد المثال »
count(x) تستخدم للبحث في الـlist الذي قام باستدعائها عن قيمة معينة.
ترجع عدد صحيح يمثل كم مرة تم إيجاد عنصر عنده نفس القيمة التي مررناها لها مكان البارميتر x.
شاهد المثال »
remove(x) تستخدم لحذف أول عنصر يتم إيجاده في الـlist الذي قام باستدعائها يملك نفس القيمة التي نمررها لها مكان البارميتر x.
في حال لم يتم العثور على القيمة المراد حذفها ترمي الإستثناء ValueError.
شاهد المثال »
index(x[, start[, end]]) تبحث في الـlist الذي قام باستدعائها عن Index أول عنصر يملك القيمة التي نمرره لها مكان الباراميتر x و ترجعه.
في حال لم يتم العثور على القيمة المراد معرفة مكانها ترمي الإستثناء ValueError.
شاهد المثال »
sort(reverse=False) تستخدم لترتيب عناصر الـlist الذي قام باستدعائها بشكل تصاعدي أو تنازلي.
شاهد المثال »
reverse(reverse=False) تستخدم لعكس ترتيب عناصر الـlist الذي قام باستدعائها.
شاهد المثال »

دوال جاهزة في بايثون للتعامل مع الـ list

إسم الدالة مع تعريفها
len(list) ترجع عدد صحيح يمثل عدد عناصر الـlist الذي نمرره لها عند إستدعاءها.
شاهد المثال »
min(list) ترجع أصغر قيمة موجودة في الـlist الذي نمرره لها عند إستدعاءها.
شاهد المثال »
max(list) ترجع أكبر قيمة في الـlist الذي نمرره لها عند إستدعاءها.
شاهد المثال »
list(sequence) ترجع نسخة من أي كائن يحتوي مجموعة عناصر نمرره لها عند إستدعاءها ككائن من الكلاس الـlist.
شاهد المثال »

في بايثون الدالة append()

تعريفها

تستخدم لإضافة عنصر جديد في آخر الـlist الذي قام باستدعائها.



بناؤها

                  list.append(x)
  


باراميترات

مكان الباراميتر x نمرر الكائن الذي نريد إضافته في آخر الـlist.



قيمة الإرجاع

لا ترجع قيمة.


مثال

Test.py
                    aList = ['Apple', 'Banana', 'Mango']    # وضعنا فيه 3 عناصر aList إسمه list هنا قمنا بتعريف
	  print('Before:', aList)                 # aList هنا قمنا بعرض ما يحتويه الكائن

	  aList.append('Orange')                  # aList هنا قمنا بإضافة نص كعنصر جديد في آخر الكائن
	  print('After: ', aList)                 # من جديد aList هنا قمنا بعرض ما يحتويه الكائن
	

سنحصل على النتيجة التالية عند التشغيل.

Before: ['Apple', 'Banana', 'Mango']
After:  ['Apple', 'Banana', 'Mango', 'Orange']

 الدالة ()extend في بايثون

تعريفها

تستخدم لإضافة عناصر مصفوفة من أي نوع في آخر الـlist الذي قام باستدعائها.



بناؤها

                  list.extend(iterable)
  


باراميترات

مكان الباراميتر iterable نمرر كائن يمثل المصفوفة التي نريد إضافة عناصرها في آخر الـlist.



قيمة الإرجاع

لا ترجع قيمة.


مثال

Test.py
                    list1 = [1, 2, 3]                 # وضعنا فيه 3 عناصر list1 إسمه list هنا قمنا بتعريف
	  list2 = [4, 5, 6]                 # وضعنا فيه 3 عناصر list2 إسمه list هنا قمنا بتعريف

	  list1.extend(list2)               # list1 في آخر الكائن list2 هنا قمنا بإضافة عناصر الكائن

	  print('list1 contains:', list1)   # list1 هنا قمنا بعرض ما يحتويه الكائن
	

سنحصل على النتيجة التالية عند التشغيل.

list1 contains: [1, 2, 3, 4, 5, 6]

 الدالة ()insert في بايثون

تعريفها

تستخدم لإضافة عنصر جديد في مكان محدد في الـlist الذي قام باستدعائها.



بناؤها

                  list.insert(index, obj)
  


باراميترات

  • مكان الباراميتر index نمرر رقم يمثل الـIndex الذي سيضاف عنده الكائن obj في الـlist.

  • مكان الباراميتر obj نمرر الكائن الذي نريد إضافته في الـlist.



قيمة الإرجاع

لا ترجع قيمة.


المثال الأول

Test.py
                    # وضعنا فيه 3 عناصر aList إسمه list هنا قمنا بتعريف
	  alist = [1, 2, 3]

	  # ( index = 1 ) و قد أضفناه مكان العنصر الذي يملك alist هنا قمنا بإضافة القيمة 7 كعنصر جديد على الكائن
	  alist.insert(1, 7)

	  # alist هنا قمنا بعرض ما يحتويه الكائن
	  print('alist contains:', alist)
	

سنحصل على النتيجة التالية عند التشغيل.

list1 contains: [1, 7, 2, 3]

المثال الثاني

Test.py
                    # وضعنا في كل واحد منهما 3 عناصر list هنا قمنا بتعريف إثنين
	  list1 = [1, 2, 3]
	  list2 = [4, 5, 6]

	  # list1 في آخر الكائن list2 هنا قمنا بإضافة عناصر الكائن
	  list1.insert(1, list2)

	  # list1 هنا قمنا بعرض ما يحتويه الكائن
	  print('list1 contains:', list1)
	

سنحصل على النتيجة التالية عند التشغيل.

list1 contains: [1, [4, 5, 6], 2, 3]

الدالة ()pop في بايثون

تعريفها

تستخدم لإرجاع قيمة عنصر محدد في الـlist الذي قام باستدعائها و من ثم حذفه, أو لإرجاع قيمة آخر عنصر موجود فيه و من ثم حذفه.
عند إستدعاءها إذا قمت بتمرير رقم يمثل Index الذي تريد حذفه فإنه يتم إرجاع قيمة و حذف هذا العنصر بالتحديد.
و في حال قمت باستدعاءها بدون تمرير أي رقم لها فإنها ترجع قيمة آخر عنصر موجود ثم تحذفه.



بناؤها

                  list.pop([index])
  


باراميترات

x هو باراميتر إختياري, يمكنك أن تمرر مكانه رقم يمثل Index العنصر الذي تريد الحصول على قيمته و من ثم حذفه من الـlist.



قيمة الإرجاع

ترجع العنصر الذي تم حذفه من الـlist.


المثال الأول

Test.py
                    # وضعنا فيه 5 عناصر aList إسمه list هنا قمنا بتعريف
	  alist = [10, 20, 30, 40, 50]

	  # و عرض قيمته alist هنا قمنا باستخراج آخر عنصر موجود في الكائن
	  print('Returned element:', alist.pop())

	  # alist هنا قمنا بعرض العناصر المتبقية في الكائن
	  print('Remaining elements:', alist)
	

سنحصل على النتيجة التالية عند التشغيل.

Returned element: 50
Remaining elements: [10, 20, 30, 40]

المثال الثاني

Test.py
                    # وضعنا فيه 5 عناصر aList إسمه list هنا قمنا بتعريف
	  alist = [10, 20, 30, 40, 50]

	  # و عرض قيمته ( index = 1 ) هنا قمنا باستخراج العنصر الذي يملك
	  print('Returned element:', alist.pop(1))

	  # alist هنا قمنا بعرض العناصر المتبقية في الكائن
	  print('Remaining elements:', alist)
	

سنحصل على النتيجة التالية عند التشغيل.

Returned element: 20
Remaining elements: [10, 30, 40, 50]

الدالة ()clear في بايثون

تعريفها

تستخدم لحذف جميع عناصر الـlist الذي قام باستدعائها.



بناؤها

                  list.clear()
  


باراميترات

لا تقبل أي باراميتر.



قيمة الإرجاع

لا ترجع قيمة.


مثال

Test.py
                    # وضعنا فيه 5 عناصر aList إسمه list هنا قمنا بتعريف
	  alist = [10, 20, 30, 40, 50]

	  # alist هنا قمنا بحذف جميع العناصر الموجودة في الكائن
	  alist.clear()

	  # فارغ list و الذي سيظهر كـ alist هنا قمنا بعرض ما يحتويه الكائن
	  print('aList contains:', alist)
	

سنحصل على النتيجة التالية عند التشغيل.

aList contains: []

الدالة ()copy في بايثون

تعريفها

ترجع نسخة من الـlist الذي قام باستدعائها.



بناؤها

                  list.copy()
  


باراميترات

لا تقبل أي باراميتر.



قيمة الإرجاع

ترجع نسخة من الـlist الذي قام باستدعائها.


مثال

Test.py
                    # وضعنا فيه 5 عناصر list1 إسمه list هنا قمنا بتعريف
	  list1 = [10, 20, 30, 40, 50]

	  # list2 في الكائن list1 هنا قمنا بنسخ عناصر الكائن
	  list2 = list1.copy()

	  # list2 و list1 هنا قمنا بعرض ما يحتويه الكائن
	  print('list1 contains:', list1)
	  print('list2 contains:', list2)
	

سنحصل على النتيجة التالية عند التشغيل.

list1 contains: [10, 20, 30, 40, 50]
list2 contains: [10, 20, 30, 40, 50]

الدالة ()count في بايثون

تعريفها

تستخدم للبحث في الـlist الذي قام باستدعائها عن قيمة معينة.
ترجع عدد صحيح يمثل كم مرة تم إيجاد عنصر عنده نفس القيمة التي مررناها لها مكان البارميتر x.



بناؤها

                  list.count(x)
  


باراميترات

مكان البارميتر x نمرر الكائن أو القيمة التي نريد البحث عنها في الـlist.



قيمة الإرجاع

ترجع عدد صحيح يمثل كم مرة تم إيجاد عنصر في الـlist الذي قام باستدعائها عنده نفس القيمة التي مررناها لها مكان البارميتر x.


مثال

Test.py
                    # وضعنا فيه مجموعة أعداد صحيحة aList إسمه list هنا قمنا بتعريف
	  alist = [1, 3, 8, 4, 3, 3, 7, 2, 3, 4, 3]

	  # found و من ثم وضعنا الناتج في المتغير alist لترجع كم مرة يوجد القيمة '3' في الكائن count() هنا قمنا باستدعاء الدالة
	  found = alist.count(3);

	  # found هنا قمنا بعرض القيمة الموجودة في المتغير
	  print('Number 3 exists', found, 'in the list')
	

سنحصل على النتيجة التالية عند التشغيل.

Number 3 exists 5 in the list

الدالة ()remove في بايثون

تعريفها

تستخدم لحذف أول عنصر يتم إيجاده في الـlist الذي قام باستدعائها يملك نفس القيمة التي نمررها لها مكان البارميتر x.



بناؤها

                  list.remove(x)
  


باراميترات

مكان البارميتر obj نمرر الكائن أو القيمة التي نريد حذفها في الـlist.



قيمة الإرجاع

ترجع عدد صحيح يمثل كم مرة تم إيجاد عنصر في الـlist الذي قام باستدعائها عنده نفس القيمة التي مررناها لها مكان البارميتر obj.



أخطاء محتملة

ترمي الإستثناء ValueError في حال لم يتم العثور على القيمة المراد حذفها.


المثال الأول

Test.py
                    # وضعنا فيه مجموعة أعداد صحيحة aList إسمه list هنا قمنا بتعريف
	  alist = [1, 2, 3, 4, 5, 1]

	  # 'يملك القيمة '1 aList هنا قمنا بحذف أول عنصر في الكائن
	  alist.remove(1)

	  # alist هنا قمنا بعرض ما يحتويه الكائن
	  print(alist)
	

سنحصل على النتيجة التالية عند التشغيل.

[2, 3, 4, 5, 1]


المثال الثاني

Test.py
                    # وضعنا فيه مجموعة أعداد صحيحة aList إسمه list هنا قمنا بتعريف
	  alist = [1, 2, 3, 4, 5, 1]

	  # عند التشغيل ValueError يملك القيمة '6' و بما أنه لا يوجد عنصر عنها هذه القيمة سيظهر الخطأ aList لحذف أول عنصر في الكائن remove() هنا قمنا باستدعاء الدالة
	  alist.remove(6)

	  # alist هنا قمنا بعرض ما يحتويه الكائن
	  print(alist)
	

سنحصل على النتيجة التالية عند التشغيل.

ValueError: list.remove(x): x not in list

الدالة ()index في بايثون

تعريفها

تبحث في الـlist الذي قام باستدعائها عن Index أول عنصر يملك القيمة التي نمرره لها مكان الباراميتر x و ترجعه.
في حال لم يتم العثور على القيمة المراد البحث عنها ترمي الإستثناء ValueError.



بناؤها

                  index(x[, start[, end]])
  


باراميترات

  • x عبارة عن القيمة أو الكائن الذي نريد البحث عنه.

  • start باراميتر إختياري, يمكنك أن تمرر مكانه عدد صحيح يحدد رقم الـ Index الذي تريد أن تبدأ البحث من عنده.

  • end باراميتر إختياري, يمكنك أن تمرر مكانه عدد صحيح يحدد رقم الـ Index الذي تريد أن توقف البحث قبله.



قيمة الإرجاع

ترجع رقم Index أول عنصر يملك القيمة التي نمررها لها مكان الباراميتر x.



أخطاء محتملة

ترمي الإستثناء ValueError في حال لم يتم العثور على القيمة المراد معرفة مكانها.



مثال

Test.py
                    # وضعنا فيه مجموعة أعداد صحيحة alist إسمه list هنا قمنا بتعريف
	  alist = [1, 2, 3, 4, 5]

	  # 3 أول عنصر يملك القيمة index هنا قمنا بعرض
	  print(alist.index(3))

	  # alist أول عنصر يملك القيمة 3 و بدأنا عملية البحث من ثاني عنصر موجود في الكائن index هنا قمنا بعرض
	  print(alist.index(3, 1))

	  # و حتى آخر عنصر موجود فيه alist أول عنصر يملك القيمة 3 و بدأنا عملية البحث من ثاني عنصر موجود في الكائن index هنا قمنا بعرض
	  print(alist.index(3, 1, 5))

	  # عند التشغيل ValueError أول عنصر يملك القيمة 10. و بما أنه لا يوجد أي عنصر عنده هذه القيمة سيظهر الخطأ index هنا قمنا بعرض
	  print(alist.index(10))
	

سنحصل على النتيجة التالية عند التشغيل.

2
2
2
ValueError: 10 is not in list

الدالة ()sort في بايثون

تعريفها

تستخدم لترتيب عناصر الـlist الذي قام باستدعائها بشكل تصاعدي أو تنازلي.
في حال لم تقم بتمرير أي قيمة لها عند إستدعاءها ستقوم بترتيب العناصر بشكل تصاعدي.



بناؤها

                  list.sort(reverse=False)
  


باراميترات

reverse هو باراميتر إختياري, يمكنك أن تمرر مكانه القيمة True في حال أردت ترتيب عناصر الـlist بشكل تنازلي.



قيمة الإرجاع

لا ترجع قيمة.


المثال الأول

Test.py
                    # وضعنا فيه مجموعة أعداد صحيحة aList إسمه list هنا قمنا بتعريف
	  alist = [3, 4, 1, 5, 7, 2]

	  # aList هنا قمنا بعرض ما يحتويه الكائن
	  print('Before sorting:', alist)

	  # بشكل تصاعدي, أي من الأصغر إلى الأكبر aList لترتيب عناصر الكائن sort() هنا قمنا باستدعاء الدالة
	  alist.sort()

	  # من جديد لرؤية الفرق aList هنا قمنا بعرض ما يحتويه الكائن
	  print('After sorting: ', alist)
	

سنحصل على النتيجة التالية عند التشغيل.

Before sorting: [3, 4, 1, 5, 7, 2]
After sorting:  [1, 2, 3, 4, 5, 7]


المثال الثاني

Test.py
                    # وضعنا فيه مجموعة أعداد صحيحة aList إسمه list هنا قمنا بتعريف
	  alist = [3, 4, 1, 5, 7, 2]

	  # aList هنا قمنا بعرض ما يحتويه الكائن
	  print('Before sorting:', alist)

	  # بشكل تنازلي, أي من الأكبر إلى الأصغر aList لترتيب عناصر الكائن sort() هنا قمنا باستدعاء الدالة
	  alist.sort(reverse=True)

	  # من جديد لرؤية الفرق aList هنا قمنا بعرض ما يحتويه الكائن
	  print('After sorting: ', alist)
	

سنحصل على النتيجة التالية عند التشغيل.

Before sorting: [3, 4, 1, 5, 7, 2]
After sorting:  [7, 5, 4, 3, 2, 1]

الدالة ()reverse في بايثون

تعريفها

تستخدم لعكس ترتيب عناصر الـlist الذي قام باستدعائها.



بناؤها

                  list.reverse(reverse=False)
  


باراميترات

لا تقبل أي باراميتر.



قيمة الإرجاع

لا ترجع قيمة.


مثال

Test.py
                    # وضعنا فيه مجموعة أعداد صحيحة aList إسمه list هنا قمنا بتعريف
	  alist = [3, 4, 1, 5]

	  # aList هنا قمنا بعرض ما يحتويه الكائن
	  print('Before reversing:', alist)

	  # aList لعكس ترتيب عناصر الكائن reverse() هنا قمنا باستدعاء الدالة
	  alist.reverse()

	  # من جديد لرؤية الفرق aList هنا قمنا بعرض ما يحتويه الكائن
	  print('After reversing: ', alist)
	

سنحصل على النتيجة التالية عند التشغيل.

Before reversing: [3, 4, 1, 5]
After reversing:  [5, 1, 4, 3]

الدالة ()len في بايثون

تعريفها

ترجع عدد صحيح يمثل عدد عناصر الـlist الذي نمرره لها عند إستدعاءها.



بناؤها

                  len(list)
  


باراميترات

مكان الباراميتر list نمرر الـlist الذي نريد الحصول على عدد عناصره.



قيمة الإرجاع

ترجع عدد صحيح يمثل عدد عناصر الـlist الذي نمرره لها عند إستدعاءها.


مثال

Test.py
                    # وضعنا فيه مجموعة أعداد صحيحة aList إسمه list هنا قمنا بتعريف
	  alist = [1, 2, 3, 4, 5]

	  # len() الذي سترجعه الدالة aList هنا قمنا بعرض عدد عناصر الكائن
	  print('Array length is:', len(alist))
	

سنحصل على النتيجة التالية عند التشغيل.

Array length is: 5

الدالة ()min في بايثون

تعريفها

ترجع أصغر قيمة في الـlist الذي نمرره لها عند إستدعاءها.



بناؤها

                  min(list)
  


باراميترات

مكان الباراميتر list نمرر الـlist الذي نريد الحصول على أصغر قيمة فيه.



قيمة الإرجاع

ترجع أصغر قيمة في الـlist الذي نمرره لها عند إستدعاءها.


مثال

Test.py
                    # وضعنا فيه مجموعة أعداد صحيحة aList إسمه list هنا قمنا بتعريف
	  alist = [5, 2, 4, 6, 3]

	  # min() و التي سترجعها الدالة aList هنا قمنا بعرض اصغر قيمة في الكائن
	  print('Minimum value is:', min(alist))
	

سنحصل على النتيجة التالية عند التشغيل.

Minimum value is: 2

الدالة ()max في بايثون

تعريفها

ترجع أكبر قيمة في الـlist الذي نمرره لها عند إستدعاءها.



بناؤها

                  max(list)
  


باراميترات

مكان الباراميتر list نمرر الـlist الذي نريد الحصول على أكبر قيمة فيه.



قيمة الإرجاع

ترجع أكبر قيمة في الـlist الذي نمرره لها عند إستدعاءها.


مثال

Test.py
                    # وضعنا فيه مجموعة أعداد صحيحة aList إسمه list هنا قمنا بتعريف
	  alist = [5, 2, 4, 6, 3]

	  # max() و التي سترجعها الدالة aList هنا قمنا بعرض أكبر قيمة في الكائن
	  print('Maximum value is:', max(alist))
	

سنحصل على النتيجة التالية عند التشغيل.

Maximum value is: 6

الدالة ()list في بايثون

تعريفها

ترجع نسخة من أي كائن يحتوي مجموعة عناصر نمرره لها عند إستدعاءها ككائن من الكلاس الـlist.



بناؤها

                  list(sequence)
  


باراميترات

مكان الباراميتر sequence نمرر كائن يمثل كائن يمثل مجموعة عناصر.



قيمة الإرجاع

ترجع نسخة من أي كائن يحتوي مجموعة عناصر نمرره لها عند إستدعاءها ككائن من الكلاس الـlist.


المثال الأول

Test.py
                    # وضعنا فيه مجموعة أعداد صحيحة aSet إسمه set هنا قمنا بتعريف
	  aSet = {1, 2, 3, 4, 5}

	  # aList الذي سترجعه في الكائن list بعدها قمنا بتخزين كائن الـ .list لترجع نسخة منه ككائن من الكلاس aSet على الكائن list() هنا قمنا باستدعاء الدالة
	  aList = list(aSet)

	  # aList هنا قمنا بعرض ما يحتويه الكائن
	  print(aList)
	

سنحصل على النتيجة التالية عند التشغيل.

[1, 2, 3, 4, 5]

مفهوم الكلاس tuple في بايثون

الـ tuple عبارة عن مصفوفة لها حجم ثابت, يمكنها تخزين قيم من مختلف الأنواع في وقت واحد و لا يمكن تبديل قيمها.


طريقة تعريف tuple 

لتعريف tuple نستخدم الرمز ( ).
بداخل هذا الرمز يمكنك تمرير القيم بشكل مباشر له بشرط وضع فاصلة بين كل عنصرين. و يمكنك تحديد نوع و عدد العناصر التي تريد وضعها فيه فقط.


في المثال التالي قمنا بتعريف tuple فارغ, أي لا يحتوي أي عنصر.

المثال الأول

Test.py
A = ()        # A فارغ إسمه tuple هنا قمنا بتعريف
		print(A)      # ( أي كما قمنا بتعريفه ) كما هو A هنا قمنا بعرض ما يحتويه الكائن
		

سنحصل على النتيجة التالية عند التشغيل.

()


في المثال التالي قمنا بتعريف tuple يتألف من عنصر واحد فقط.

المثال الثاني

Test.py
A = (10,)      # يتألف من عنصر واحد قيمته 10 tuple هنا قمنا بتعريف
		  print(A)       # ( أي كما قمنا بتعريفه ) كما هو A هنا قمنا بعرض ما يحتويه الكائن
		

سنحصل على النتيجة التالية عند التشغيل.

(10)

إنتبه

وضع فاصلة بعد القيمة 10 هنا يعتبر أمر إجباري حتى يفهم مترجم بايثون أنك تنوي تعريف tuple و ليس متغير عادي قيمته 10.
كما أنه لا حاجة لوضع فاصلة إضافية كما فعلنا هنا في حال كان الـ tuple يحتوي على أكثر من قيمة.



في المثال التالي قمنا بتعريف tuple وضعنا فيه أعداد صحيحة.

المثال الثالث

Test.py
numbers = (10, 20, 30, 40, 50)       # يحتوي على أعداد صحيحة فقط numbers إسمه tuple هنا قمنا بتعريف
			print(numbers)                       # ( أي كما قمنا بتعريفه ) كما هو numbers هنا قمنا بعرض محتوى الكائن
		  

سنحصل على النتيجة التالية عند التشغيل.

(10, 20, 30, 40, 50)


في المثال التالي قمنا بتعريف tuple وضعنا فيه نصوص.

المثال الرابع

Test.py
names = ('Rami', 'Sara', 'Nada')      # يحتوي على نصوص فقط names إسمه tuple هنا قمنا بتعريف
		  print(names)                          # ( أي كما قمنا بتعريفه ) كما هو names هنا قمنا بعرض ما يحتويه الكائن
		  

سنحصل على النتيجة التالية عند التشغيل.

('Rami', 'Sara', 'Nada')


في المثال التالي قمنا بتعريف tuple وضعنا فيه أعداد صحيحة و نصوص.

المثال الخامس

Test.py
data = (1, 'Mhamad', 'Harmush', 1500)      # يحتوي على أعداد صحيحة و نصوص data إسمه tuple هنا قمنا بتعريف
			print(data)                                # ( أي كما قمنا بتعريفه ) كما هو data هنا قمنا بعرض ما يحتويه الكائن
		  

سنحصل على النتيجة التالية عند التشغيل.

(1, 'Mhamad', 'Harmush', 1500)

الوصول لعناصر الـ tuple في بايثون

للوصول لأي عنصر في الـ tuple بهدف الحصول على قيمته طبعاً فإننا نستخدم رقم الـ Index الخاص بالعنصر.

في بايثون, يمكنك الوصول للعناصر الموجودة في الـ tuple بطريقتين:

  • في حال أردت الوصول لعناصر الـ tuple من اليسار إلى اليمين, أي من أول عنصر تم إدخاله, فإن الـ Index لأول عنصر سيكون 0.

  • في حال أردت الوصول لعناصر الـ tuple من اليمين إلى اليسار, أي من آخر عنصر تم إدخاله, فإن الـ Index لآخر عنصر سيكون 1-.



في المثال التالي قمنا بتعريف tuple وضعنا فيه نصوص. بعدها قمنا بعرض قيمة أول و ثاني عنصر فيه.

المثال الأول

Test.py
# وضعنا فيه قيم نصية تمثل أسماء أشخاص names إسمه tuple هنا قمنا بتعريف
		names = ('Rami', 'Sara', 'Nada', 'Mhamad', 'Salem')

		print(names[0])     # names هنا قمنا بعرض قيمة أول عنصر موجود في الكائن
		print(names[1])     # names هنا قمنا بعرض قيمة ثاني عنصر موجود في الكائن
	  

سنحصل على النتيجة التالية عند التشغيل.

Rami
Sara


في المثال التالي قمنا بتعريف tuple وضعنا فيه نصوص. بعدها قمنا بعرض قيمة آخر و قبل آخر عنصر فيه.

المثال الثاني

Test.py
# وضعنا فيه قيم نصية تمثل أسماء أشخاص names إسمه tuple هنا قمنا بتعريف
	names = ('Rami', 'Sara', 'Nada', 'Mhamad', 'Salem')

	print(names[-1])     # names هنا قمنا بعرض قيمة آخر عنصر موجود في الكائن
	print(names[-2])     # names هنا قمنا بعرض قيمة ما قبل آخر عنصر موجود في الكائن
	

سنحصل على النتيجة التالية عند التشغيل.

Salem
Mhamad


في المثال التالي قمنا بتعريف tuple وضعنا فيه نصوص. بعدها قمنا بعرض جميع القيم الموضوعة فيه باستخدام الحلقة for.

المثال الثالث

Test.py
# وضعنا فيه قيم نصية تمثل أسماء أشخاص names إسمه tuple هنا قمنا بتعريف
	names = ('Rami', 'Sara', 'Nada', 'Mhamad', 'Salem')

	# و من ثم سيتم طباعتها x في المتغير names في كل مرة سيتم وضع قيمة عنصر من عناصر الكائن
	for x in names:
    print(x)
	

سنحصل على النتيجة التالية عند التشغيل.

Rami
Sara
Nada
Mhamad
Salem


في المثال التالي قمنا بتعريف tuple وضعنا فيه أعداد صحيحة. بعدها قمنا بحساب ناتج جمع جميع القيم الموضوعة فيه باستخدام الحلقة for.

المثال الرابع

Test.py
# وضعنا فيه أعداد صحيحة numbers إسمه tuple هنا قمنا بتعريف
	numbers = (10, 20, 30, 40, 50)

	# numbers هنا قمنا بتعريف متغير سنستخدمه لحفظ ناتج جمع القيم الموجودة في الكائن
	total = 0

	# total و من ثم سيتم إضافتها على قيمة المتغير x في المتغير numbers في كل مرة سيتم وضع قيمة عنصر من عناصر الكائن
	for x in numbers:
    total += x

	# numbers و التي ستساوي ناتج جمع القيم الموجودة في الكائن total هنا قمنا بطباعة قيمة المتغير
	print('Total sum is:', total)
	

سنحصل على النتيجة التالية عند التشغيل.

Total sum is: 150

تجزيء الـ tuple في بايثون

المقصود من تجزيء الـ tuple هو إرجاع جزء منه سواء لعرضه أو تخزينه.


في المثال التالي قمنا بتعريف tuple وضعنا فيه أرقام. بعدها قمنا بعرض جزء منه.
فعلياً قمنا بعرض العناصر الموجودة فيه إبتداءاً من العنصر الذي يملك Index رقم 0 وصولاً إلى العنصر الموجود قبل العنصر الذي يملك Index رقم 3.
أي قمنا بعرض قيم العناصر arr[0] - arr[1] - arr[2].

المثال الأول

Test.py
arr = (10, 20, 30, 40, 50)    # وضعنا فيه أعداد صحيحة arr إسمه tuple هنا قمنا بتعريف

	  print(arr[0: 3])              # arr هنا قمنا بعرض أول ثلاث عناصر موجودة في الكائن
	

سنحصل على النتيجة التالية عند التشغيل.

(10, 20, 30)


في المثال التالي قمنا بتعريف tuple وضعنا فيه أرقام. بعدها قمنا بنسخ جزء منه و وضعه في tuple ثانية.
فعلياً قمنا بنسخ العناصر الموجودة فيه إبتداءاً من العنصر الذي يملك Index رقم 0 وصولاً إلى العنصر الموجود قبل العنصر الذي يملك Index رقم 3.
أي قمنا بنسخ قيم العناصر arr[0] - arr[1] - arr[2].

المثال الثاني

Test.py
arr = (10, 20, 30, 40, 50)    # وضعنا فيه أعداد صحيحة arr إسمه tuple هنا قمنا بتعريف

	  arr2 = arr[0: 3]              # arr2 و وضعها في كائن جديد إسمه arr هنا قمنا بنسخ أول ثلاث عناصر موجودة في الكائن

	  print(arr2)                   # arr2 هنا قمنا بعرض ما يحتويه الكائن
	

سنحصل على النتيجة التالية عند التشغيل.

(10, 20, 30)

إستخدام العوامل + و * و in مع الـ tuple في بايثون


العامل دواعي الإستخدام
+ العامل + يستخدم لدمج tuple أو أكثر في tuple واحد.
* العامل * لوضع لتكرار قيمة معينة عدة مرات في الـ tuple.
in العامل in يستخدم للبحث في الـ tuple عن قيمة معينة أو للمرور على قيمه عند إستخدامه في الحلقة for كما فعلنا في بعض الأمثلة السابقة.

في المثال التالي قمنا بتخزين إثنين tuple في tuple واحد بواسطة العامل +.

المثال الأول

Test.py
arr1 = (1, 2, 3)      # وضعنا فيه أعداد صحيحة arr1 إسمه tuple هنا قمنا بتعريف
	arr2 = (4, 5, 6)      # وضعنا فيه أعداد صحيحة arr2 إسمه tuple هنا قمنا بتعريف

	arr3 = arr1 + arr2    # arr2 و arr1 وضعنا فيه قيم الكائنين arr3 إسمه tuple هنا قمنا بتعريف

	print(arr3)           # arr3 هنا قمنا بعرض ما يحتويه الكائن
	

سنحصل على النتيجة التالية عند التشغيل.

(1, 2, 3, 4, 5, 6)


في المثال التالي قمنا بتعريف tuple وضعنا فيه 3 عناصر تملك 'python' كقيمة لهم بواسطة العامل *.

المثال الثاني

Test.py
arr = ('python',) * 3     # 'python' وضعنا فيه 3 عناصر قيمتهم النص arr إسمه tuple هنا قمنا بتعريف

	print(arr)                # arr هنا قمنا بعرض ما يحتويه الكائن
	

سنحصل على النتيجة التالية عند التشغيل.

('python', 'python', 'python')

إنتبه

عند تكرار قيم في الـ tuple بواسطة العامل *, فإنك مجبر على وضع فاصلة بعد القيمة التي وضعتها في القوس.
في حال لم تضع فاصلة بعد القيمة, لن يعرف مترجم بايثون أنك كنت تنوي تعريف tuple.



في المثال التالي إستخدمنا العامل in للبحث في الـ tuple عن قيمة معينة.

المثال الثالث

Test.py
arr = ('Mhamad', 'Rony', 'Rima', 'Sara')     # وضعنا فيه مجموعة قيم نصية arr إسمه tuple هنا قمنا بتعريف

		x = 'Rima'                                   # وضعنا فيه نص x هنا قمنا بتعريف متغير إسمه

		print('Is Rima in the tuple?')
		print(x in arr)                              # True إذا تم إيجادها سيتم عرض .arr في الكائن x هنا سيتم البحث عن قيمة
	  

سنحصل على النتيجة التالية عند التشغيل.

Is Rima in the tuple?
True

دوال الكلاس tuple في بايثون

إسم الدالة مع تعريفها
count(x) تستخدم للبحث في الـtuple الذي قام باستدعائها عن قيمة معينة.
ترجع عدد صحيح يمثل كم مرة تم إيجاد عنصر عنده نفس القيمة التي مررناها لها مكان البارميتر x.
شاهد المثال »
index(x[, start[, end]]) تبحث في الـtuple الذي قام باستدعائها عن Index أول عنصر يملك القيمة التي نمرره لها مكان الباراميتر x و ترجعه.
في حال لم يتم العثور على القيمة المراد معرفة مكانها ترمي الإستثناء ValueError.
شاهد المثال »

دوال جاهزة في بايثون للتعامل مع الـ tuple

إسم الدالة مع تعريفها
len(tuple) ترجع عدد صحيح يمثل عدد عناصر الـtuple الذي نمرره لها عند إستدعاءها.
شاهد المثال »
min(tuple) ترجع أصغر قيمة موجودة في الـtuple الذي نمرره لها عند إستدعاءها.
شاهد المثال »
max(tuple) ترجع أكبر قيمة في الـtuple الذي نمرره لها عند إستدعاءها.
شاهد المثال »
tuple(sequence) ترجع نسخة من أي كائن يحتوي مجموعة عناصر نمرره لها عند إستدعاءها ككائن من الكلاس الـtuple.
شاهد المثال »

فائدة النوع tuple في بايثون

بما أنك وجدت أن النوع tuple هو نوع محدود نوعاً ما مقارنةً بالنوع list الذي درسته في الدرس السابق فلعلك تتساءل الآن حول فائدته.

هذه الأسباب هي ما قد يدفعك النوع tuple:

  • الوصول لعناصر موضوعة في tuple أسرع من الوصول لعناصر موضوعة في list.

  • قيمه تعتبر آمنة حيث يمكن قراءتها فقط.

  • في حال كنت تستخدم النوع dictionary و الذي يتم وضع البيانات فيه كجدول يتألف من مفاتيح ( Keys ) و قيم ( Values ). فإنه يمكنك تمرير tuple تحتوي على أرقام أو نصوص كمفاتيح له.

بايثون الدالة count()

تعريفها

تستخدم للبحث في الـtuple الذي قام باستدعائها عن قيمة معينة.
ترجع عدد صحيح يمثل كم مرة تم إيجاد عنصر عنده نفس القيمة التي مررناها لها مكان البارميتر x.



بناؤها

                  tuple.count(x)
  


باراميترات

مكان البارميتر x نمرر الكائن أو القيمة التي نريد البحث عنها في الـtuple.



قيمة الإرجاع

ترجع عدد صحيح يمثل كم مرة تم إيجاد عنصر في الـtuple الذي قام باستدعائها عنده نفس القيمة التي مررناها لها مكان البارميتر x.


مثال

Test.py
                    # وضعنا فيه مجموعة أعداد صحيحة atuple إسمه tuple هنا قمنا بتعريف
	  atuple = (1, 3, 8, 4, 3, 3, 7, 2, 3, 4, 3)

	  # found و من ثم وضعنا الناتج في المتغير atuple لترجع كم مرة يوجد القيمة '3' في الكائن count() هنا قمنا باستدعاء الدالة
	  found = atuple.count(3);

	  # found هنا قمنا بعرض القيمة الموجودة في المتغير
	  print('Number 3 exists', found, 'in the tuple')
	

سنحصل على النتيجة التالية عند التشغيل.

Number 3 exists 5 in the tuple

بايثون الدالة index()

تعريفها

تبحث في الـtuple الذي قام باستدعائها عن Index أول عنصر يملك القيمة التي نمرره لها مكان الباراميتر x و ترجعه.
في حال لم يتم العثور على القيمة المراد البحث عنها ترمي الإستثناء ValueError.



بناؤها

                  index(x[, start[, end]])
  


باراميترات

  • x عبارة عن القيمة أو الكائن الذي نريد البحث عنه.

  • start باراميتر إختياري, يمكنك أن تمرر مكانه عدد صحيح يحدد رقم الـ Index الذي تريد أن تبدأ البحث من عنده.

  • end باراميتر إختياري, يمكنك أن تمرر مكانه عدد صحيح يحدد رقم الـ Index الذي تريد أن توقف البحث قبله.



قيمة الإرجاع

ترجع رقم Index أول عنصر يملك القيمة التي نمررها لها مكان الباراميتر x.



أخطاء محتملة

ترمي الإستثناء ValueError في حال لم يتم العثور على القيمة المراد معرفة مكانها.



مثال

Test.py
                    # وضعنا فيه مجموعة أعداد صحيحة atuple إسمه tuple هنا قمنا بتعريف
	  atuple = (1, 2, 3, 4, 5)

	  # 3 أول عنصر يملك القيمة index هنا قمنا بعرض
	  print(atuple.index(3))

	  # atuple أول عنصر يملك القيمة 3 و بدأنا عملية البحث من ثاني عنصر موجود في الكائن index هنا قمنا بعرض
	  print(atuple.index(3, 1))

	  # و حتى آخر عنصر موجود فيه atuple أول عنصر يملك القيمة 3 و بدأنا عملية البحث من ثاني عنصر موجود في الكائن index هنا قمنا بعرض
	  print(atuple.index(3, 1, 5))

	  # عند التشغيل ValueError أول عنصر يملك القيمة 10. و بما أنه لا يوجد أي عنصر عنده هذه القيمة سيظهر الخطأ index هنا قمنا بعرض
	  print(atuple.index(10))
	

سنحصل على النتيجة التالية عند التشغيل.

2
2
2
ValueError: 10 is not in tuple

بايثون الدالة len()

تعريفها

ترجع عدد صحيح يمثل عدد عناصر الـtuple الذي نمرره لها عند إستدعاءها.



بناؤها

                  len(tuple)
  


باراميترات

مكان الباراميتر tuple نمرر الـtuple الذي نريد الحصول على عدد عناصره.



قيمة الإرجاع

ترجع عدد صحيح يمثل عدد عناصر الـtuple الذي نمرره لها عند إستدعاءها.


مثال

Test.py
                    # وضعنا فيه مجموعة أعداد صحيحة atuple إسمه tuple هنا قمنا بتعريف
	  atuple = (1, 2, 3, 4, 5)

	  # len() الذي سترجعه الدالة atuple هنا قمنا بعرض عدد عناصر الكائن
	  print('Tuple length is:', len(atuple))
	

سنحصل على النتيجة التالية عند التشغيل.

Tuple length is: 5

بايثون الدالة min()

تعريفها

ترجع أصغر قيمة في الـtuple الذي نمرره لها عند إستدعاءها.



بناؤها

                  min(tuple)
  


باراميترات

مكان الباراميتر tuple نمرر الـtuple الذي نريد الحصول على أصغر قيمة فيه.



قيمة الإرجاع

ترجع أصغر قيمة في الـtuple الذي نمرره لها عند إستدعاءها.


مثال

Test.py
                    # وضعنا فيه مجموعة أعداد صحيحة atuple إسمه tuple هنا قمنا بتعريف
	  atuple = (5, 2, 4, 6, 3)

	  # min() و التي سترجعها الدالة atuple هنا قمنا بعرض اصغر قيمة في الكائن
	  print('Minimum value is:', min(atuple))
	

سنحصل على النتيجة التالية عند التشغيل.

Minimum value is: 2

بايثون الدالة max()

تعريفها

ترجع أكبر قيمة في الـtuple الذي نمرره لها عند إستدعاءها.



بناؤها

                  max(tuple)
  


باراميترات

مكان الباراميتر tuple نمرر الـtuple الذي نريد الحصول على أكبر قيمة فيه.



قيمة الإرجاع

ترجع أكبر قيمة في الـtuple الذي نمرره لها عند إستدعاءها.


مثال

Test.py
                    # وضعنا فيه مجموعة أعداد صحيحة atuple إسمه tuple هنا قمنا بتعريف
	  atuple = (5, 2, 4, 6, 3)

	  # max() و التي سترجعها الدالة atuple هنا قمنا بعرض أكبر قيمة في الكائن
	  print('Maximum value is:', max(atuple))
	

سنحصل على النتيجة التالية عند التشغيل.

Maximum value is: 6

بايثون الدالة tuple()

تعريفها

ترجع نسخة من أي كائن يحتوي مجموعة عناصر نمرره لها عند إستدعاءها ككائن من الكلاس الـtuple.



بناؤها

                  tuple(sequence)
  


باراميترات

مكان الباراميتر sequence نمرر كائن يمثل كائن يمثل مجموعة عناصر.



قيمة الإرجاع

ترجع نسخة من أي كائن يحتوي مجموعة عناصر نمرره لها عند إستدعاءها ككائن من الكلاس الـtuple.


المثال الأول

Test.py
                    # وضعنا فيه مجموعة أعداد صحيحة aSet إسمه set هنا قمنا بتعريف
	  aSet = {1, 2, 3, 4, 5}

	  # atuple الذي سترجعه في الكائن tuple بعدها قمنا بتخزين كائن الـ .tuple لترجع نسخة منه ككائن من الكلاس aSet على الكائن tuple() هنا قمنا باستدعاء الدالة
	  atuple = tuple(aSet)

	  # atuple هنا قمنا بعرض ما يحتويه الكائن
	  print(atuple)
	

سنحصل على النتيجة التالية عند التشغيل.

(1, 2, 3, 4, 5)