المقدمة
القوائهم. ما هي القوائم هي عبارة عن ليست نقوم بوضع داخلها الكثير من الشياء
على سبيل المثال لنقول لدينا حفلة ولدينا اشخاص مدعوين من الممكن جدا حضور بعض
الناس الغير مدعوين للحفلة وهنا يأتي دور قائمة الناس المدعوين. من خلالها
يمكننا تحديد الناس المدعوين للحفلة والغير مدعوين لن تكون اسمائهم على القائمة
ولذالك لن يدخول الى الحفلة. الأن سوف يأتيني شخص ويقول يا محمد سوف انشاء
متغير لكل شخص واكتب انه مدعو او لا وفي هذه الحالة لن احتاج الى القائمة.
جوابي لك يا صديقي لنعتبر المتغير الواحد شخص وانت لديك 100 اسم او 100 مدعو في
حالتك هذه سوف تقوم بأنشاء 100 متغير وتجلع 100 شخص يقف على الباب وهذه سوف
تأخذ مساحة كبيرة وسوف تضهر العديد العديد من المشاكل لهذه يفضل استهدم القوائم
في الشياء التي هي لها معنا واحد ولكن هي فعلا تختلف مثل ارقام الهواتف اسماء
الناس وغيرها من العلومات ولنفترض انت قمت باستخدام القوائم سوف يكون لديك شخص
واحد ولديه قائمة كاملة بأسماء المدعوين الى الحفلة او حتى
الأجتماع
ماذا سوف نتعلم في درس اليوم
في حال وجود قائمة من الطبيعي ان نحتاج الى ان نحذف شخص او نضيف شخص او حتى
نأخذ منها نسخة وفي درس اليوم سوف نتعلم كيفية التعامل مع القوائم
بأحترافية
طريقة انشاء قائمة List
في الحقيقة هناك طرق عدة لأنشاء قائمة وكلها سهلة والموضوع نفسهُ سهل
جداً
واول طريقة لأنشاء قائمة هي ان تقوم بكتابة اسم المتغير كما تعلمنا وكتابة
علامة اليساوي وتضع اقواس square brackets [] وتضع داخلها القيم كما تحب وفقط
هذه كل شيء لا كثر ولا اقل وهذه مثال على ذالك
names = ['hasan','ali']
او يمكنك وضع اسم للمتغير وبعدها علامة الياسوي = وتستخدم دالة List لأنشاء
قائمة وهي سوف تأخذ منك قيمة واحدة وسوف تكون النتيجة هي ليست او قائمة وهذه
مثال على ما اقول
names = list('ali')
والأن دعوني اكتب لكم مثال بسيط لأنشاء قائمة ويوجد داخلها 5 اسماء
وبعدها نطبع هذه القائمة
names = ['Hassan','Mohammed','Mohannad','Hamza','ali']
print(names)
وهاكذا نقوم بأنشاء قائمة بكل بساطة يا شباب
طريقة اضافة قيم جديدة الى القائمة
الوصف
في حال قمنا بأنشاء القائمة وبعدها نريد ان نقوم بأضافة قيمة جديدة لها بدون
الرجوع الى القائمة نفسها والتعديل عليها نريد ان نقوم بالأضافة من طريق الكود
وهذه الشيء جداً جداً مهم وسهل ولهُ طرق عدة
append
اول واشهر طريقة لأضافة القيم هي استخدام دالة append لأضافة القيم الجديدة
الى القوائم. جميل الأن دعونا نتحدث عن دالة append قليلاً بكل بساطة هذه
الدالة تقوم بأخذ منك القيمة وتقوم بأضافة القيمة الى القائمة وتقوم بأضافتها
في اخر القائمة وهذه مثال بسيط جداً عن كلامي
names = ['mohammed','zinab','nour','hasan'] # A List With some names
print(names) # printing list of the names
names.append('ali') # add ali to the list of the names
print(names) # printing the list
وكما ترون تم طباعة لنا القائمة بدون اسم ali في الأول وفي المره الثانيه
وبعدما قمنا بأضافة علي الى القائمة تم طباعة علي في القائمة وايضا يمكننا
تنكرر الأضافة لأي اسم او لأي قيمة نريد وحتى ان كانت متكررة كما هو موضح في
المثال التالي
names = ['mohammed','zinab','nour','hasan'] # A List With some names
print(names) # printing list of the names
names.append('ali') # add ali to the list of the names
names.append('ali') # add ali to the list of the names
names.append('abd allah') # add abd allah to the list of the names
print(names) # printing the list
insert
الطريقة الثانيه لأضافة القيم الى القوائم هي عن طريق استخدام دالة insert
وهذه الدالة تختلف عن دالة append اختلاف بسيط وهو ان دالة append تقوم بأضافة
القيم تلقائين في اخر القائمة ولكن دالة insert انت تقوم بتحديد مكان اضافة
العنصر عن طريق تحديد الـindex على سبيل المثال
l1 = ['ali','mohammed','hassan']
l1.insert(1,'abdallah')
print(l1)
كما ترون في هاذا المثال قمنا بتحديد مكان اضافة عبدالله في العنصر الأول
والذي هو قيمته الحاليه Mohammed سوف تكون abdallah وسوف يتقدم mohammed الى
الـindex رقم 2
extend
مثلا لدينا قائمتين الأولى فيها ارقام والثانيه فيها اسماء ونريد اضافة قيمة
القائمة الأولة الى قيمة القائمة الثانية كل ما علينا هو استخدام دالة extend
لأضافة عناصر القائمة الأولة الى عناصر القائمة الثانيه وهذه مثال بسيط
l1 = ['alo','hassan','ziad']
l2 = ['nour','zaed','mohammed']
l1.extend(l2)
print(l1)
طريقة عمل access على العناصر في القوائم
قبل قليل تعلمنى طريقة دمج قائمتين معاً والأن سوف نتعلم طريقة اختيار عنصر او
عدة عناصر من القائمة مثلا لدينا قائمة توجد فيها اسماء فواكه مثل apple,
banana, cherry, orange, kiwi, mango, carrot ونحن نريد ان نطبع مثلا شيء معين
من القائمة كنص وليس كقائمة كل ما علينا تحديد index العنصر طيب ماذا اقصد ب
index الـindex يا شباب هو عبارة عن رقم يمثل عنصر والعد الخاص بـindex يبدء من
رقم 0 على سبيل المثال apple هي اول عنصر في القائمة والـindex الخاص بها هو
رقم 0 او banana هيا ثاني عنصر في القائمة والـindex الخاص بها هي رقم 1 وهاكذا
ومن خلال هذه الكلام نفهم من هاذا الكلام ان index يبدء العد من رقم 0 وليس رقم
1 ف مثلا كما قلنا نريد ان نطبع كلمة apple كل ما علينا معرفة index الخاص بها
ونحن نراها اول قيمة يعني The Index الخاص بها هو رقم 0 اذن كيف يمكننا تحديد
the index اليذي نريد كل ما علينا هو استخدام اقواس القوائم لتحداد القوائهم
يعني اذا قمنا بكتابة [0] هذه يعني اننا قمنا بتحديد العنصر الأول في القائمة
او قمنا بتحديد قيمة عنصر الأندكس رقم 0 والذي هو تفاحة وهذه المثال في
الأسفل
l1 = ['apple', 'banana', 'cherry', 'orange', 'kiwi', 'mango', 'carrot']
print(l1[0])
واريد ان اوضح ان عند تحديد العنصر نحن لا نتعامل معه ك نصر في قائمة انما
نتعامل معه كما هو يعني اذا كان العنصر هو عبارة عن نص يمكننا التعامل معه كنص
واذا كان رقم سوف نتعامل معه كرقم على سبيل المثال اذا قلنا
l1 = ['apple', 'banana', 'cherry', 'orange', 'kiwi', 'mango', 'carrot']
print(l1[0].upper())
سوف يتم طباعة كلمة apple ولكن كلها حروف كبار. جميل لنفترض اننا نريد ان
نطبع اكثر من قيمة في وقت واحد بكل سهولة سوف نحدد العناصر التي نريد طباعتها
مثلا سوف اطبع التفاح والكيوي والكرز
l1 = ['apple', 'banana', 'cherry', 'orange', 'kiwi', 'mango', 'carrot']
print(l1[0],l1[2],l1[4])
مثلا نريد ان نطبع من الأندس رقم 0 الى الأندكس رقم 4
l1 = ['apple', 'banana', 'cherry', 'orange', 'kiwi', 'mango', 'carrot']
print(l1[0:4])
الأن سوف يتم طباعة من العنصر رقم 0 الى رقم 3. ولكن نحن قمنا بتحديد
العنصر رقم 4. يا صديقي في بايثون عند تحديد من العنصر الفلاني الى العنصر
الفلاني سوف يتم التخلي عن العنصر لماذا لأننا قلنا رقم 4 أيي 4 مرات واذا قمنا
بالحساب سوف نرى ان 0123 هذه 4 ارقام او 4 عناصر ولكن اذا قلنا الى رقم 5 سوف
تكون 01234 لماذا ليئن الكمبيوتر يبدء العد من رقم 0 وليس رقم 1
جميل لنفترض اننا نريد ان نطبع من بداية القائمة الى العنصر رقم 3 سوف نقوم
بكتابة
l1 = ['apple', 'banana', 'cherry', 'orange', 'kiwi', 'mango', 'carrot']
print(l1[:4])
لنفترض الأن اننا نريد ان نقول اطبع لي من الـindex رقم 3 الى نهاية القائمة
سوف نقوم بكتابة
l1 = ['apple', 'banana', 'cherry', 'orange', 'kiwi', 'mango', 'carrot']
print(l1[3:])
مثلا نحن نريد ان نطبع اخر عنصر في القائمة ولكن نحن لا نعرف ما هو عدد
العناصر الموجود فيها كل ما علينا استخدام - لتحديد العنصر ومع استخدام - سوف
يبدء العد من رقم 1 وليس 0 وسوف يكون العد عكسي ف اذا قلنا
l1 = ['apple', 'banana', 'cherry', 'orange', 'kiwi', 'mango', 'carrot']
print(l1[-1])
سوف يتم طباعة اخر عنصر لأننا قمنا بالبدء من العكس لأننا قمنا باستخدام - في
العد ف مثلا اذا قلنا
l1 = ['apple', 'banana', 'cherry', 'orange', 'kiwi', 'mango', 'carrot']
print(l1[-4:-1])
سوف يتم طباعة لنا من العنصر orange الى العنصر mango
تغير قيم العناصر في القوائم
لنفترض اننا لدينا قائمة صغيرة تحتوي على اسم علي ومحمد وحسن ونريد ان نستبدل
اسم علي بأسم احمد مثلا كل ما علينا ان نحدد العنصر عن طريق index الخاص به ثم
وضع قيمة جديدة وهذه مثال بسيط ادناه
names = ['ali','mohammed','hassan']
names[0] = 'ahmed'
print(names[0])
والان بعد تغير القيمة عندما طبعنا العنصر رقم 0 او الأندكس 0 سوف يتم طباعة
لنا ahmed ولن يتم طباعة علي لأننا قمنا بتغير القيم
مثلا نريد ان نغير قيمتين الأن رقم 0 اصبح يساوي ahmed مثلا نريد ان
نستبدل ahmed بali ونستبدل hassan بmalk كل ما علينا هو ان نستبدلهم كما في
الطريقة السابقة
names = ['ahmed','mohammed','hassan']
names[0] = 'ali'
names[2] = 'malk'
print(names[0])
print(names[2])
الأن كما تلاحظون تم تبديل احمد وحسن ب علي ومالك
حذف العناصر من القوائم
remove
مرحبا يا اصدقاء لنفترض اننا لدينا قائمة تحتوي على اسماء فواكه مثل
تفاح وبرتقال وموز وكرز ونحن نريد ان نقوم بحذف الموز من القائمة كل ما علينا
هو استخدام دالة remove لحذف العناصركما هو موضح في المثال ادناه
fruits = ['apple', 'orange', 'banana', 'cherry', 'carrot']
fruits.remove('orange')
print(fruits)
pop
الأن قمنا بالحذف عن طريق كتابة العنصر المراد حذفه ولكن لنفترض اننا لدينا
نفس العنصر مرتين او اكثر ونريد ان نحذف عنصر معين او لنفترض اننا لدينا قائمة
داخل قائمة ونريد ان نقوم بحذف القائمة الثانية
fruits = ['apple', 'orange', 'banana',['Malak', 'Hassan', 'Hasan'] , 'cherry', 'carrot']
fruits.pop(3)
print(fruits)
del
مثلا نريد ان نقوم بستخدام احد دوال لغة بايثون لنقوم بحذف عنصر سوف نستخدم
دالة del لحذف عنصركما هو موضح في المثال ادناه
fruits = ['apple', 'orange', 'banana', 'cherry', 'carrot']
del fruits[1]
print(fruits')
مثلا نريد ان نقوم بحذف المتغير من الرام ان لا يكون هناك متغير بأسم fruits
من الرام بشكل كامل سوف نقوم باستخدام دالة del لحذف المتغير
fruits = ['apple', 'orange', 'banana', 'cherry', 'carrot']
del fruits
print(fruits)
clear
مثلا نحن نريد ان نقوم بتنضيف القائمة ولكن لا نريد ان نقوم بحذف العناصر عنصر
عنصر فهذه الشيء متعب وغير صحيح لهذه تم اختراع لنا دالة clear لتنذيف القوائم
كما هو موضح ادناه
fruits = ['apple', 'orange', 'banana', 'cherry', 'carrot']
fruits.clear()
print(fruits)
Sort
حسنا الأن انتهينا من حذف العناصر الأن سوف نقوم بترتيب القائمة لنفترض ان
لدينا قائمة كبيرة من الأرقام ونريد ان رتبها بشكل تصاعدي من 1 الى اكبر رقم
بالترتيب الصحيح كل ما علينا استخدام دالة sort كما هو موضح في المثال
ادناه
numbers = [55,12,33,64,23,53,90,84,72]
numbers.sort()
print(numbers)
مثلا لدينا قائمة تحتوى على اسماء ونحن نريد ترتيب القائمة على حسب الأحرف
الأبجدية من a الى z مستخدم دالة sort كذالك كما هو موضح ادناه
names = ['John', 'Emily', 'Michael', 'Sarah', 'David', 'Jessica', 'Christopher', 'Emma', 'James', 'Olivia']
names.sort()
print(names)
copy
لنفترض ان لدينا قائمة ونريد ان نقوم بالتعديل عليها ولكن لا نريد ان نخسر
القيم الحالية وبنفس الوقت نحن لا نعلم ما الذي سوف يحصل القيم القديمة بعد
اضافة القيم الجديدة اذن الحل الوحيد لنا هو اخذ نسخة من القائمة القديمة وهناك
3 طرق او 4 طرق انا سوف اتطرق الى طريقة واحد لا نحتاج الى اكثر سوف نستخدم
دالة copy لنسخ عناصر القائمة الى القائمة الثانيه
names = ['John', 'Emily', 'Michael', 'Sarah', 'David', 'Jessica', 'Christopher', 'Emma', 'James', 'Olivia']
new = names.copy()
print(new)
join
على سبيل المثلا لدينا قائمتين ونريد دمجهم لدينا اكثر من طريقة وسوف اتطرق
الى كل واحدة منهن واول طريقة عن طريق استخدام + كما هو موضح في المثال
ادناه
l1 = ['John', 'Emily', 'Michael']
l2 = [1,2,3]
l3 = l1+l2
print(l3)
او يمننا استخدام دالة extend لدمج القوائم مع بعضها البعض
l1 = ['John', 'Emily', 'Michael']
l2 = [1,2,3]
l1.extend(l1)
print(l1)
الخاتمة
الى هنا وقد وصلنا الى نهاية درس اليوم وهو طريقة التعامل مع القوائم بالتفصيل
الممل اتمنى ان ينال المقال على اعجابكم ونعتذر لو كان هناك خطا ان اخطئنا فهذه
منا وأن اصبنا فهذه من الله تعالى ودمتم سالمين
تعليقات
إرسال تعليق