أساسيات العمل مع القوائم في بايثون
تعتبر القوائم (Lists) واحدة من أكثر هياكل البيانات شيوعًا واستخدامًا في لغة بايثون. توفر هذه الأدوات تخزينًا وتعديلًا ومعالجة مريحة لمجموعات البيانات. بغض النظر عن مستوى خبرة المبرمج، تبقى مهارات التعامل مع قوائم بايثون مطلوبة في جميع مجالات تطوير البرمجيات.
تتناول هذه المقالة بالتفصيل عملية إنشاء قوائم بايثون، وطرق إضافة وحذف العناصر، بالإضافة إلى تقديم نظرة عامة على الطرق الفعالة للتعامل مع هذا الهيكل البياني.
مفهوم القائمة في بايثون
التعريف والخصائص
القائمة هي مجموعة مرتبة قابلة للتعديل من الكائنات. يمكن أن يحتوي هيكل البيانات على عناصر من أنواع مختلفة: أعداد صحيحة، نصوص، قوائم متداخلة، وحتى دوال.
my_list = [1, 2, 3, "Python", True]
السمة الرئيسية للقوائم هي إمكانية تعديل المحتوى بعد الإنشاء. هذه الخاصية (القابلية للتغيير) تميز القوائم عن tuples وتجعلها الخيار الأمثل للبيانات الديناميكية.
الفهرسة والوصول إلى العناصر
عناصر القائمة لها أرقام ترتيبية (فهارس) تبدأ من الصفر. يتم الوصول إلى عنصر معين باستخدام الأقواس المربعة:
fruits = ["apple", "banana", "cherry"]
print(fruits[0]) # apple
print(fruits[-1]) # cherry (آخر عنصر)
طرق إنشاء قوائم بايثون
إنشاء قائمة فارغة
يمكن تهيئة قائمة فارغة بعدة طرق:
empty_list = []
# أو
empty_list = list()
إنشاء قائمة بعناصر محددة مسبقًا
الإعلان المباشر عن قائمة بقيم أولية:
fruits = ["apple", "banana", "cherry"]
numbers = [1, 2, 3, 4, 5]
mixed_list = [1, "hello", 3.14, True]
استخدام دالة list()
تقوم دالة list() بتحويل الكائنات القابلة للتكرار إلى قوائم:
numbers = list(range(5)) # [0, 1, 2, 3, 4]
string_list = list("Python") # ['P', 'y', 't', 'h', 'o', 'n']
إنشاء قوائم بعناصر متكررة
يسمح عامل الضرب بإنشاء قوائم بقيم مكررة:
zeros = [0] * 5 # [0, 0, 0, 0, 0]
pattern = ["a", "b"] * 3 # ['a', 'b', 'a', 'b', 'a', 'b']
إضافة عناصر إلى القائمة
طريقة append() - إضافة عنصر واحد
تضع طريقة append() عنصرًا جديدًا في نهاية القائمة:
fruits = ["apple", "banana"]
fruits.append("cherry")
print(fruits) # ['apple', 'banana', 'cherry']
خاصية مهمة لـ append(): تضيف الطريقة العنصر كاملاً، حتى لو كان قائمة:
main_list = [1, 2, 3]
main_list.append([4, 5])
print(main_list) # [1, 2, 3, [4, 5]]
طريقة extend() - إضافة عدة عناصر
تقوم extend() بتوسيع القائمة بعناصر من كائن قابل للتكرار:
fruits = ["apple", "banana"]
fruits.extend(["cherry", "orange", "grape"])
print(fruits) # ['apple', 'banana', 'cherry', 'orange', 'grape']
تعمل الطريقة مع أي كائنات قابلة للتكرار:
numbers = [1, 2]
numbers.extend(range(3, 6)) # يضيف 3, 4, 5
numbers.extend("abc") # يضيف 'a', 'b', 'c'
طريقة insert() - الإدراج حسب الفهرس
تضع insert() عنصرًا في الموضع المحدد:
fruits = ["apple", "banana", "cherry"]
fruits.insert(1, "kiwi")
print(fruits) # ['apple', 'kiwi', 'banana', 'cherry']
عند تحديد فهرس أكبر من طول القائمة، يتم إضافة العنصر إلى النهاية