التعامل المتقدم مع القوائم
1. التقطيع (Slicing):
يمكنك استخراج جزء من القائمة باستخدام التقطيع:
my_list = [10, 20, 30, 40, 50]
print(my_list[1:4]) # [20, 30, 40]
print(my_list[:3]) # [10, 20, 30]
print(my_list[::2]) # [10, 30, 50] (كل عنصرين)
2. البحث داخل القائمة:
fruits = ["تفاح", "موز", "برتقال"]
print("موز" in fruits) # True
print(fruits.index("برتقال")) # 2
3. ترتيب القائمة (Sorting):
numbers = [5, 2, 9, 1]
numbers.sort() # ترتيب تصاعدي
print(numbers) # [1, 2, 5, 9]
numbers.sort(reverse=True) # ترتيب تنازلي
print(numbers) # [9, 5, 2, 1]
4. النسخ (Copying) بشكل صحيح:
a = [1, 2, 3]
b = a.copy()
b.append(4)
print(a) # [1, 2, 3]
print(b) # [1, 2, 3, 4]
5. الجمع والتكرار:
a = [1, 2]
b = [3, 4]
c = a + b
print(c) # [1, 2, 3, 4]
d = a * 3
print(d) # [1, 2, 1, 2, 1, 2]
6. حذف العناصر:
my_list = [10, 20, 30, 40]
my_list.pop(2) # حذف العنصر عند الفهرس 2
print(my_list) # [10, 20, 40]
del my_list[1] # حذف باستخدام del
print(my_list) # [10, 40]
7. القوائم المتداخلة (Nested Lists):
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
print(matrix[1][2]) # 6
تمرين تطبيقي على هذا الدرس:
- أنشئ قائمة أرقام من 1 إلى 10.
- اطبع الأرقام الزوجية فقط.
- احسب مجموع جميع الأرقام.
- أنشئ نسخة عكسية من القائمة.
- أضف قائمة جديدة تمثل مربعات الأرقام (n^2).
بالطبع! إليك حل التمرين التطبيقي على درس القوائم المتقدم في Python:
حل التمرين:
# 1. إنشاء قائمة أرقام من 1 إلى 10
numbers = list(range(1, 11))
print("القائمة الأصلية:", numbers)
# 2. طباعة الأرقام الزوجية فقط
even_numbers = [num for num in numbers if num % 2 == 0]
print("الأرقام الزوجية:", even_numbers)
# 3. حساب مجموع جميع الأرقام
total = sum(numbers)
print("مجموع الأرقام:", total)
# 4. إنشاء نسخة عكسية من القائمة
reversed_list = numbers[::-1]
print("القائمة بالعكس:", reversed_list)
# 5. قائمة تمثل مربعات الأرقام
squares = [num ** 2 for num in numbers]
print("مربعات الأرقام:", squares)
الناتج المتوقع عند تشغيل الكود:
القائمة الأصلية: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
الأرقام الزوجية: [2, 4, 6, 8, 10]
مجموع الأرقام: 55
القائمة بالعكس: [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
مربعات الأرقام: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

