📚 دوال القوائم في بايثون (تغيير القائمة)
المفاهيم الأساسية
listName.remove(x): تحذف عنصراً معيناً (x) من القائمة.
listName.count(x): تحسب عدد مرات ظهور عنصر محدد (x) في القائمة.
listName.sort(): ترتب عناصر القائمة تصاعدياً.
listName.reverse(): ترتب عناصر القائمة عكسياً.
خريطة المفاهيم
```markmap
هياكل البيانات
هياكل البيانات غير البسيطة (Non-primitive)
هياكل خطية (Linear)
#### تعريف القائمة
- صيغة: List_Name=[item1, item2,...,itemN]
- عناصر القائمة
- متغير يمثل اسم القائمة
#### فهرسة القوائم (List Indexing)
- الوصول للعناصر: اسم_القائمة[رقم_الفهرس]
- الفهرس يبدأ من الصفر (0)
##### الفهرسة الموجبة
- fruits[0] → العنصر الأول ("apple")
- fruits[2] → العنصر الثالث ("banana")
##### الفهرسة السالبة
- fruits[-1] → العنصر الأخير ("banana")
- fruits[-2] → العنصر الثاني قبل الأخير ("orange")
#### التكرار على القوائم
#### استخدام الدوال مع القوائم
##### دوال تعيد قيمة (لا تغير القائمة)
###### دالة len()
- مثال: `gradesItems=len(grades)`
###### دالة sum()
- مثال: `myGrades=sum(grades)`
###### دالة max()
- الوظيفة: تعرض أكبر عنصر في القائمة.
- مثال: `maxGrade=max(grades)`
###### دالة min()
- الوظيفة: تعرض أصغر عنصر في القائمة.
- مثال: `minGrade=min(grades)`
##### دوال تغير القائمة (دوال مدمجة)
###### listName.append(x)
- الوظيفة: تضيف العنصر x لنهاية القائمة.
###### listName.remove(x)
- الوظيفة: تزيل العنصر x من القائمة.
###### listName.count(x)
- الوظيفة: تحسب عدد مرات ظهور x داخل القائمة.
###### listName.sort()
- الوظيفة: ترتب عناصر القائمة تصاعدياً.
###### listName.reverse()
- الوظيفة: ترتب عناصر القائمة عكسياً.
###### listName.clear()
- الوظيفة: تزيل كافة العناصر من القائمة.
هياكل غير خطية (Non-linear)
```
نقاط مهمة
- الدوال `remove()` و `count()` تستهدف عنصراً محدداً (x) في القائمة.
- الدالتان `sort()` و `reverse()` تعملان على ترتيب عناصر القائمة ككل.
- هذه الدوال هي دوال مدمجة (Built-in Functions) تغير من القائمة الأصلية.