القوائم Lists هو من اكثر انواع البيانات استخداما وهو يستخدم لحفظ مجموعة من العناصر تحت مسمى واحد ونستطيع الوصول للعناصر عن طريق استخدام تسلسلها/ترتيبها index في القائمة. في بايثون كما العديد من لغات البرمجة يبدأ التسلسل من الرقم 0 وليس 1، فيكون العنصر الاول تسلسله => 0 و العنصر الثاني تسلسله => 1 وهكذا.
ال list هو احد انواع الاصناف في بايثون ونستطيع اجراء بعض العمليات على المتغيرات من نوع list باستخدام مجموعة من الدوال او المؤثرات. وهو يحتوي على مجموعة من الدوال التي نستطيع استخدامها لتعديل العناصر بداخله
التعريف
نقوم بتعريف القوائم بوضع العناصر بين [] ، ويفصل فيما بينهم بالفاصلة “،”
تشغيلx = ["Apple", 5 ,12.5 , "Car", True, -2] # نطبع العنصر الاول او صاحب التسلسل 0 print(x[0]) # Apple # نطبع العنصر الثالث print(x[2]) # 12.5
تعديل العناصر
نستطيع تعديل العناصر باستخدام التسلسل
تشغيلx = ["Apple", 5 ,12.5 , "Car", True, -2] x[0] = 10 x[1] = "Orange" print(x) # ["Orange", 10 ,12.5 , "Car", True, -2]
العمليات Operations
هناك العديد من العمليات و الدوال التي نستطيع ان نستخدمها للتعامل مع القوائم
التكرار Iteration
لكي نستطيع عرض كل قيم القوائم نستخدم جملة/حلقة for، وتسمى تلك العملية بالتكرار حيث ان الكود يتكررعلى حسب عناصر القائمة .
تشغيلx = ["Cat", "Dog", "Cow"] for element in x : # على حسب تسلسلها element مع كل تكرار تتغير قيمة print(element) # Cat => Dog => Cow
()len
نستطيع استخدام الدالة ()len لحساب عدد العناصر في القائمة
تشغيلx = ["Cat", "Dog", "Cow"] print(len(x)) # 3 y = ["Apple", 5 ,12.5 , "Car", True, -2] print(len(y)) # 6
التقطيع slicing
التقطيع هو احد المصطلحات الذي يستخدم مع القوائم والمقصود به ارجاع جزء من القائمة. ويتم التعامل فيها مع وذلك بتحديد ترتيب/تسلسل البداية و النهاية.
تشغيلx = ["Apple", 5 ,12.5 , "Car", True, -2] # طباعة العنصر الثالث print(x[2]) # 12.5 # ارجاع جزء من القائمة، من العنصر الثاني الى الرابع sub_list = x[1:4] print(sub_list) # [ 5 ,12.5 , "Car"] # اذا لم يتم تحديد تسلسل البداية # تعتبر البايثون البداية من اول نصر print(x[:4]) # ["Apple", 5 ,12.5 , "Car"] # اذا لم يتم تحديد تسلسل النهاية # تعتبر البايثون النهاية هي اخر القائمة print(x[3:]) # ["Car", True, -2]
ملحوظة: عند التقطيع العنصر صاحب تسلسل النهاية لا يتم ارجاعه. لذا في المثال السابق [1:4]x العنصر الخامس (صحب التسلسل 4) لم يتم ارجاعه
نستطيع في البايثون تحديد التسلسل بالسالب، حيث يعتبر ان تسلسل اخر حرف في البايثون هو -1 و الحرف قبل الاخير -2 وهكذا الى ان نصل الى اول حرف. و هي ميزة تمكننا من التعامل بسهولة مع القوائم. فمثلا اذا احتجنا ان نقتطع النص من الحرف الثاني الى الحرف قبل الاخير يكون كالتالي
x = ["Apple", 5 ,12.5 , "Car", True, -2] print(x[1:-1]) # [5 ,12.5 , "Car", True]
الدمج Concatenation
نستطيع ان ندمج بين قائمتين او اكثر باستخدام المؤثر “+”
تشغيلx = ["Apple", 5 ,12.5 , "Car", True, -2] y = ["Cat", "Dog", "Cow"] z = x + y print(z) #["Apple", 5 ,12.5 , "Car", True, -2, "Cat", "Dog", "Cow"]
in
نستطيع التأكد اذا ما كان عنصرموجود في قائمة ما باستخدام in ويكون نوع الراجع boolean اي true او false
تشغيلx = ["Apple", 5 ,12.5 , "Car", True, -2] check_1 = 5 in x print(check_1)# True check_2 = "Hello" in x print(check_2)# False
الدوال/الطرق methods
يوفر الصنف list مجموعة من الطرق/الدوال التي نستطيع استخدامها
()append
تستخدم طريقة append لاضافة عنصر في نهاية القائمة
تشغيلy = ["Cat", "Dog", "Cow"] y.append("Elephant") print(y) # ["Cat", "Dog", "Cow", "Elephant"]
()insert
تستخدم insert لاضافة عنصر في القائمة في تسلسل معين، و تستقبل الدالة متغيرين:
* الاول: هو ترتيب العنصر الذي سوف يتم اضافته.
* الثاني: هو العنصر الذي سوف يتم اضافته
y = ["Cat", "Dog", "Cow"] y.insert(1,"Elephant") print(y) # ["Cat", "Elephant", "Dog", "Cow"]
()pop
تستخدم pop لمسح العنصر الاخير من القائمة
تشغيلy = ["Cat", "Dog", "Cow"] y.pop() print(y) # ["Cat", "Dog"]
()remove
تستخدم remove لازالة عنصر معين من القائمة
تشغيلy = ["Cat", "Dog", "Cow"] y.remove("Dog") print(y) # ["Cat", "Dog", "Cow"]