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

الصفحات

   شاركنا بعملوماتك

#عائله بايثون

مفهوم الكلاس 
list

الـ 

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


طريقة تعريف 
list

لتعريف 

list
 نستخدم الرمز 
[ ]
.

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


في المثال التالي قمنا بتعريف 

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

المثال الأول

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

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

[]


في المثال التالي قمنا بتعريف 

list
 وضعنا فيه أعداد صحيحة.

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

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

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

[10, 20, 30, 40, 50]


في المثال التالي قمنا بتعريف 

list
 وضعنا فيه نصوص.

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

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

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

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


في المثال التالي قمنا بتعريف 

list
 وضعنا فيه أعداد صحيحة و نصوص.

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

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

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

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


في المثال التالي قمنا بتعريف 

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

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

Test.py
# يتألف من 4 عناصر ,None قيمه الإفتراضية هي ,data إسمه هنا قمنا بتعريف
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 إسمه هنا قمنا بتعريف
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 إسمه هنا قمنا بتعريف
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 إسمه هنا قمنا بتعريف
names = ['Rami', 'Sara', 'Nada', 'Mhamad', 'Salem']
print(names[0]) # names هنا قمنا بعرض قيمة أول عنصر موجود في الكائن
print(names[1]) # names هنا قمنا بعرض قيمة ثاني عنصر موجود في الكائن

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

Rami
Sara


في المثال التالي قمنا بتعريف 

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

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

Test.py
# وضعنا فيه قيم نصية تمثل أسماء أشخاص names إسمه هنا قمنا بتعريف
names = ['Rami', 'Sara', 'Nada', 'Mhamad', 'Salem']
print(names[-1]) # names هنا قمنا بعرض قيمة آخر عنصر موجود في الكائن
print(names[-2]) # names هنا قمنا بعرض قيمة ما قبل آخر عنصر موجود في الكائن

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

Salem
Mhamad


في المثال التالي قمنا بتعريف 

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

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

Test.py
# وضعنا فيه قيم نصية تمثل أسماء أشخاص names إسمه هنا قمنا بتعريف
names = ['Rami', 'Sara', 'Nada', 'Mhamad', 'Salem']
# و من ثم سيتم طباعتها x في المتغير names في كل مرة سيتم وضع قيمة عنصر من عناصر الكائن
for x in names:
print(x)

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

Rami
Sara
Nada
Mhamad
Salem


في المثال التالي قمنا بتعريف 

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

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

Test.py
# وضعنا فيه أعداد صحيحة numbers إسمه هنا قمنا بتعريف
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 إسمه هنا قمنا بتعريف
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 إسمه هنا قمنا بتعريف
arr = [10, 20, 30, 40, 50]
del arr[0:3] # arr هنا قمنا بحذف أول ثلاث عناصر موجودة في الكائن
print(arr) # arr هنا قمنا بعرض ما يحتويه الكائن

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

[40, 50]

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



في المثال التالي قمنا بتعريف 

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

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

Test.py
# وضعنا فيه أعداد صحيحة arr إسمه هنا قمنا بتعريف
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 إسمه هنا قمنا بتعريف
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 إسمه هنا قمنا بتعريف
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 إسمه هنا قمنا بتعريف
arr2 = [4, 5, 6] # وضعنا فيه أعداد صحيحة arr2 إسمه هنا قمنا بتعريف
arr3 = arr1 + arr2 # arr2 و arr1 وضعنا فيه قيم الكائنين arr3 إسمه هنا قمنا بتعريف
print(arr3) # arr3 هنا قمنا بعرض ما يحتويه الكائن

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

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


في المثال التالي قمنا بتعريف 

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

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

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

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

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


في المثال التالي إستخدمنا العامل 

in
 للبحث في الـ 
list
 عن قيمة معينة.

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

Test.py
arr = ['Mhamad', 'Rony', 'Rima', 'Sara'] # وضعنا فيه مجموعة قيم نصية arr إسمه هنا قمنا بتعريف
x = 'Rima' # وضعنا فيه نص x هنا قمنا بتعريف متغير إسمه
print('Is Rima in the?')
print(x in arr) # True إذا تم إيجادها سيتم عرض .arr في الكائن x هنا سيتم البحث عن قيمة

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

Is Rima in the?
True

دوال الكلاس 
list

إسم الدالة مع تعريفها
1
append(obj)
تستخدم لإضافة عنصر جديد في آخر الـ
list
 الذي قام باستدعائها.
شاهد المثال »
2
extend(iterable)
تستخدم لإضافة عناصر مصفوفة من أي نوع في آخر الـ
list
 الذي قام باستدعائها.
شاهد المثال »
3
insert(index, obj)
تستخدم لإضافة عنصر جديد في مكان محدد في الـ
list
 الذي قام باستدعائها.
شاهد المثال »
4
pop([index])
تستخدم لحذف عنصر محدد في الـ
list
 الذي قام باستدعائها, أو لحذف آخر عنصر موجود فيه.
شاهد المثال »
5
clear()
تستخدم لحذف جميع عناصر الـ
list
 الذي قام باستدعائها.
شاهد المثال »
6
copy()
ترجع نسخة من الـ
list
 الذي قام باستدعائها.
شاهد المثال »
7
count(x)
تستخدم للبحث في الـ
list
 الذي قام باستدعائها عن قيمة معينة.
ترجع عدد صحيح يمثل كم مرة تم إيجاد عنصر عنده نفس القيمة التي مررناها لها مكان البارميتر 
x
.

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

في حال لم يتم العثور على القيمة المراد حذفها ترمي الإستثناء ValueError.
شاهد المثال »
9
index(x[, start[, end]])
تبحث في الـ
list
 الذي قام باستدعائها عن Index أول عنصر يملك القيمة التي نمرره لها مكان الباراميتر 
x
 و ترجعه.
في حال لم يتم العثور على القيمة المراد معرفة مكانها ترمي الإستثناء ValueError.
شاهد المثال »
10
sort(reverse=False)
تستخدم لترتيب عناصر الـ
list
 الذي قام باستدعائها بشكل تصاعدي أو تنازلي.
شاهد المثال »
11
reverse(reverse=False)
تستخدم لعكس ترتيب عناصر الـ
list
 الذي قام باستدعائها.
شاهد المثال »

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

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

شاهد المثال »

تعليقات