يتناول هذا الدرس كيفية التعامل مع إنشاء ليست list in python , حيث كما ذكرنا في الدرس السابق أن المصفوفة من نوع list يمكن إنشائها و تعديلها أو حذفها.
إنشاء list و عرضها
إنشاء قائمة List
friends = ["ahmed","hazem","mohamed","amr"]
يمكن أيضاً إنشاء List من خلال العنصر المدمج في لغة بايثون list
friends = list("ahmed","hazem","mohamed","amr")
عرض list
friends = ["ahmed","hazem","mohamed","amr"] print(friends)
عرض نوع المتغير friends
friends = ["ahmed","hazem","mohamed","amr"] print(type(friends))
عرض عدد عناصر List
friends = ["ahmed","hazem","mohamed","amr"] print(len(friends))
عرض عناصر List
عرض عنصر معين من list , في المثال التالي سيتم عرض ahmed
friends = ["ahmed","hazem","mohamed","amr"] print(friends[0])
عرض أخر عنصر في list, في المثال التالي سيعرض amr
friends = ["ahmed","hazem","mohamed","amr"] print(friends[-1])
تحديد حدود عرض عناصر list , في المثال التالي سيعرض بدأ من العنصر الثالث mohamed الى العنصر الخامس ramy
friends = ["ahmed","hazem","mohamed","amr","ramy","samy"] print(friends[2:5])
تحديد نقطة نهاية عرض العناصر , في المثال التالي سيعرض العناصر بدأ من العنصر الأول الى العنصر الخامس ramy
friends = ["ahmed","hazem","mohamed","amr","ramy","samy"] print(friends[:5])
تحديد نطقة بدأ عرض العناصر , في المثال التالي سيبدأ عرض العناصر بدأ من العنصر الثالث mohamed وصولاً إلى نهاية المصفوفة.
friends = ["ahmed","hazem","mohamed","amr","ramy","samy"] print(friends[2:])
يمكن تحديد نقطة بداية العنصر و نقطة النهاية بطريقة عكسية , في المثال التالي رقم 1- المقصود بة عنصر samy بينما ramy يحسب 2- و هكذا, لذلك عند تحديد من 3- الى 1- يتم عرض ramy و amr فقط لأن يتم تجاهل العنصر الأخير الذي تم تحديدة.
friends = ["ahmed","hazem","mohamed","amr","ramy","samy"] print(friends[-3:-1])
تعديل List
تعديل قيمة عنصرفي List , في المثال التالي يتم تبديل عنصر الأول بدلاً من hazem يصبح waleed
friends = ["ahmed","hazem","mohamed","amr","ramy","samy"] print("the friends list before update") print(friends) friends[0] = "waleed" print("the friends list after update") print(friends)
تحديث أكثر من عنصر في نفس الوقت , يمكن تحديد نقطة بدأ و نقطة نهاية لعملية التحديث, في المثال التالي سيتم تحديث العنصريين hazem و mohamed الى khaled و yousef.
friends = ["ahmed","hazem","mohamed","amr","ramy","samy"] print("the friends list before update") print(friends) friends[1:3] = ["khaled","yousef"] print("the friends list after update") print(friends)
في حالة تحديد حدود لتحديث أكثر من عنصر ثم يتم إدخال عنصر واحد .. يتم تبديل العناصر المحددة بهذا العنصر الواحد فقط أوي بمعنى أخر يتم حذف تلك العناصر في مقابل إدخال هذا العنصر الواحد, في المثال التالي يتم حذف mohamed و hazem و في المقابل سيتم إدخال khaled مرة واحدة.
friends = ["ahmed","hazem","mohamed","amr","ramy","samy"] print("the friends list before update") print(friends) friends[1:3] = ["khaled"] print("the friends list after update") print(friends)
فحص وجود أو عدم وجود عنصر معين في List
التأكد من وجود عنصر من خلال الشرط if
friends = ["ahmed","hazem","mohamed","amr","ramy","samy"] if "hazem" in friends: print("hazem in the list")
التأكد من عدم وجود عنصر من خلال الشرط if
friends = ["ahmed","hazem","mohamed","amr","ramy","samy"] if "khaled" not in friends: print("khaled not in the list")
إدخال عناصر إلى List
يمكن إستخدام الدالتين insert و append لإضافة عناصر إلى List, الفرق أن في دالة insert يمكن تحديد الموضع في المصفوفة لإدخال العنصر الجديد بينما append تقوم بإدخال العنصر في نهاية المصفوفة تلقائياً.
في المثال التالي سيتم إدخال ibrahim في id رقم 1 أي الترتيب الثاني بينما ramy سيتم إدخالة في نهاية المصفوفة.
friends = ["ahmed","hazem","mohamed","amr","yousef","khaled"] print(friends) print("----------------") friends.insert(1,"ibrahim") friends.append("ramy") print(friends)
حذف عناصر من List
تستخدم الدالة pop لحذف عنصر محدد من list, في المثال التالي سيتم حذف العنصر الثاني hazem
friends = ["ahmed","hazem","mohamed","amr","yousef","khaled"] print(friends) print("----------------") friends.pop(1) print(friends)
إذا تم تنفيذ pop بدون إدخال العامل الخاص برقم العنصر يتم حذف أخر عنصر في القائمة, في المثال التالي سيتم حذف khaled من list
friends = ["ahmed","hazem","mohamed","amr","yousef","khaled"] print(friends) print("----------------") friends.pop() print(friends)
يمكن حذف جميع محتوايات المصفوفة لتصبح list فارغة من خلال دلة clear
friends = ["ahmed","hazem","mohamed","amr","yousef","khaled"] print(friends) print("----------------") friends.clear() print(friends)
من خلال الكلمة المحجوزة del يمكن حذف عنصر معين من list أو حذف list بالمتغير الذي يخزنها من الذاكرة ليصبح المتغير غير معرف
friends = ["ahmed","hazem","mohamed","amr","yousef","khaled"] print(friends) print("----------------") del friends[4] print(friends) print("----------------") del friends print(friends)
نسخ و توريث List
يمكن إنشاء List جديدة من List قديمة أو يمكن توريث عناصر List الى List أخرى.
يمكن عمل نسخ من خلال دالة copy أو دالة list.
النسخ من خلال دالة copy
friends = ["ahmed","hazem","mohamed","amr"] NewList = friends.copy() print(NewList)
النسخ من خلال list
friends = ["ahmed","hazem","mohamed","amr"] NewList = list(friends) print(NewList)
النسخ من خلال العامل +
friends = ["ahmed","hazem","mohamed","amr"] friends_online = ["mike","jon","sara"] all_friends = friends + friends_online print(all_friends)
التوريث من خلال الدوران for, توريث friends_online من friends
friends = ["ahmed","hazem","mohamed","amr"] friends_online = ["mike","jon","sara"] for x in friends_online: friends.append(x) print(friends_online)
التوريث من خلال دالة extend
friends = ["ahmed","hazem","mohamed","amr"] friends_online = ["mike","jon","sara"] friends_online.extend(friends) print(friends_online)
ترتيب العناصر List sort
يتم ترتيب العناصر إعتماداً على الحروف الأبجدية و الأرقام كترتيب طبيعي أو عكسي من خلال دالة sort , و يمكن عكس الترتيب من خلال العامل reverse
friends = ["ahmed","hazem","mohamed","amr","yousef","khaled"] print("before sort") print(friends) friends.sort() print("after sort") print(friends) friends.sort(reverse=True) print("after reverse sort") print(friends)
Comprehension list
يمكن إنشاء مصفوفة list أو إعتماداً على مصفوفة أخرى من خلال أسلوب comprehension وهو يعتمد على الدوران for و يمكن إستخدام if للتحقق من شرط معين.
إنشاء list إعتماداً على range
newlist = [x for x in range(10)] print(newlist)
إنشاء list بشرط أن تكون قيمة x أصغر من أو تساوي 5
newlist = [x for x in range(10) if x <= 5] print(newlist)
إنشاء مصفوفة بجميع القيم التي تحتوي على حرف r من list أخرى
friends = ["ahmed","hazem","mohamed","amr","yousef","khaled","ramy"] newlist = [x for x in friends if "r" in x] print(newlist)
إنشاء list تضم جميع العناصر معادا الذي قيمتة khaled
friends = ["ahmed","hazem","mohamed","amr","yousef","khaled","ramy"] newlist = [x for x in friends if x != "khaled"] print(newlist)
إنشاء list مطابق للمصفوفة friends مع جعل جميع أحرف الأسماء أحرف كبيرة
friends = ["ahmed","hazem","mohamed","amr","yousef","khaled","ramy"] newlist = [x.upper() for x in friends] print(newlist)
إنشاء قائمة مطابق للمصفوفة friends مع إضاقة نص hello بجوار كل إسم
friends = ["ahmed","hazem","mohamed","amr","yousef","khaled","ramy"] newlist = ['hello '+x for x in friends] print(newlist)
إنشاء قائمة مطابقة للمصفوفة friends مع تبديل قيمة amr بقيمة khaled
friends = ["ahmed","hazem","mohamed","amr","yousef","khaled","ramy"] newlist = [x if x != "amr" else "khaled" for x in friends] print(newlist)
الدوران في list
عرض العناصر من خلال for
thislist = ["apple", "banana", "cherry"] for x in thislist: print(x)
عرض العناصر من خلال for إعتماداً على range
thislist = ["apple", "banana", "cherry"] for i in range(len(thislist)): print(thislist[i])
عرض العناصر من خلال الدوران while
thislist = ["apple", "banana", "cherry"] i = 0 while i < len(thislist): print(thislist[i]) i = i + 1
عرض العناصر من خلال comprehension
thislist = ["apple", "banana", "cherry"] [print(x) for x in thislist]
- روابط هامة لكورس لغة بايثون
- المتغير variable python
- انواع البيانات data type python
- if condition in python
- for loop in python
- while loop in python
- arithmetic operators in python
- assignment operators in python
- comparison operators in python
- logical operators in python
- identity operators in python
- input command in python
- array collection in python
- list in python
- tuple in python
- set in python
- dictionary in python
- iterators in python
- function in python