القوائم (Lists) والقواميس (Dictionaries)
الدرس الرابع الهياكل في بايثون: القوائم (Lists) والقواميس (Dictionaries) .
تعلم بايثون
February 1, 2025

الدرس الرابع: القوائم (Lists) والقواميس (Dictionaries)
مرحبًا بك في الدرس الرابع من سلسلة تعلم لغة بايثون! في هذا الدرس، سنركز على نوعين مهمين جدًا من الهياكل في بايثون: القوائم (Lists) والقواميس (Dictionaries) . هذه الهياكل تُستخدم لتخزين البيانات بشكل مرتب وسهل الوصول إليها، وهي أساسية في العديد من التطبيقات البرمجية.
1. القوائم (Lists)
القوائم هي واحدة من أكثر الهياكل استخدامًا في بايثون. القائمة عبارة عن مجموعة مرتبة من العناصر، ويمكن أن تحتوي على أنواع مختلفة من البيانات (أرقام، نصوص، قوائم أخرى، إلخ).
أ. كيفية إنشاء قائمة
يمكنك إنشاء قائمة باستخدام الأقواس المربعة []
وفصل العناصر بفاصلة ,
.
fruits = ["apple", "banana", "cherry"]
numbers = [1, 2, 3, 4]
mixed = [1, "apple", 3.14, True]
ب. الوصول إلى عناصر القائمة
يمكنك الوصول إلى عناصر القائمة باستخدام الفهرس (Index) . الفهرس يبدأ من 0
للعنصر الأول.
fruits = ["apple", "banana", "cherry"]
print(fruits[0]) # النتيجة: apple
print(fruits[1]) # النتيجة: banana
print(fruits[-1]) # النتيجة: cherry (العنصر الأخير)
ج. تعديل عناصر القائمة
يمكنك تعديل قيمة عنصر معين في القائمة باستخدام الفهرس.
fruits = ["apple", "banana", "cherry"]
fruits[1] = "orange" # استبدل "banana" بـ "orange"
print(fruits) # النتيجة: ['apple', 'orange', 'cherry']
د. إضافة وحذف عناصر
- إضافة عنصر: يمكنك استخدام
append()
لإضافة عنصر إلى نهاية القائمة. - حذف عنصر: يمكنك استخدام
remove()
أوpop()
لحذف عنصر من القائمة.
fruits = ["apple", "banana", "cherry"]
# إضافة عنصر
fruits.append("grape")
print(fruits) # النتيجة: ['apple', 'banana', 'cherry', 'grape']
# حذف عنصر
fruits.remove("banana") # حذف "banana"
print(fruits) # النتيجة: ['apple', 'cherry', 'grape']
# حذف آخر عنصر
last_fruit = fruits.pop()
print(last_fruit) # النتيجة: grape
print(fruits) # النتيجة: ['apple', 'cherry']
هـ. التكرار عبر القائمة
يمكنك استخدام حلقة for
للتكرار عبر جميع عناصر القائمة.
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
2. القواميس (Dictionaries)
القواميس هي هياكل بيانات تُستخدم لتخزين القيم كأزواج من المفاتيح والقيم. كل مفتاح يكون مرتبطًا بقيمة معينة، مما يجعل الوصول إلى البيانات سريعًا وفعالًا.
أ. كيفية إنشاء قاموس
يتم إنشاء القاموس باستخدام الأقواس المعقوفة {}
، حيث يتم فصل المفتاح والقيمة بعلامة النقطتين :
.
person = {
"name": "Ali",
"age": 25,
"is_student": True
}
ب. الوصول إلى القيم
يمكنك الوصول إلى القيم باستخدام المفتاح.
person = {
"name": "Ali",
"age": 25,
"is_student": True
}
print(person["name"]) # النتيجة: Ali
print(person["age"]) # النتيجة: 25
ج. تعديل وإضافة القيم
يمكنك تعديل قيمة موجودة أو إضافة زوج جديد من المفتاح والقيمة.
person = {
"name": "Ali",
"age": 25,
"is_student": True
}
# تعديل قيمة
person["age"] = 30
print(person["age"]) # النتيجة: 30
# إضافة زوج جديد
person["city"] = "Riyadh"
print(person) # النتيجة: {'name': 'Ali', 'age': 30, 'is_student': True, 'city': 'Riyadh'}
د. حذف عناصر
يمكنك حذف زوج مفتاح-قيمة باستخدام del
.
person = {
"name": "Ali",
"age": 25,
"is_student": True
}
del person["is_student"]
print(person) # النتيجة: {'name': 'Ali', 'age': 25}
هـ. التكرار عبر القاموس
يمكنك التكرار عبر المفاتيح أو القيم أو كليهما باستخدام حلقة for
.
person = {
"name": "Ali",
"age": 25,
"is_student": True
}
# التكرار عبر المفاتيح
for key in person:
print(key)
# التكرار عبر القيم
for value in person.values():
print(value)
# التكرار عبر أزواج المفتاح والقيمة
for key, value in person.items():
print(f"{key}: {value}")
3. تطبيقات عملية
تطبيق 1: إدارة قائمة المهام
tasks = []
def add_task(task):
tasks.append(task)
print(f"تمت إضافة المهمة: {task}")
def remove_task(task):
if task in tasks:
tasks.remove(task)
print(f"تم حذف المهمة: {task}")
else:
print("المهمة غير موجودة!")
def show_tasks():
if tasks:
print("قائمة المهام:")
for i, task in enumerate(tasks, 1):
print(f"{i}. {task}")
else:
print("لا توجد مهام.")
# اختبار البرنامج
add_task("شراء البقالة")
add_task("قراءة كتاب")
show_tasks()
remove_task("شراء البقالة")
show_tasks()
تطبيق 2: إدارة بيانات الطلاب
students = {}
def add_student(name, grade):
students[name] = grade
print(f"تمت إضافة الطالب: {name} - درجة: {grade}")
def get_grade(name):
if name in students:
print(f"درجة الطالب {name}: {students[name]}")
else:
print("الطالب غير موجود!")
def show_students():
if students:
print("قائمة الطلاب:")
for name, grade in students.items():
print(f"{name}: {grade}")
else:
print("لا توجد طلاب.")
# اختبار البرنامج
add_student("Ali", 90)
add_student("Ahmed", 85)
show_students()
get_grade("Ali")
get_grade("Omar")
4. نصائح حول القوائم والقواميس
-
استخدام القوائم عندما تحتاج إلى ترتيب العناصر:
إذا كنت تريد تخزين مجموعة من العناصر التي تحتاج إلى ترتيبها أو الوصول إليها بالترتيب، فإن القوائم هي الخيار الأفضل. -
استخدام القواميس عندما تحتاج إلى الوصول السريع:
إذا كنت تريد الوصول إلى القيم بناءً على مفتاح معين (مثل اسم الطالب)، فإن القواميس هي الخيار الأمثل. -
تجنب الأخطاء الشائعة:
- عند الوصول إلى عنصر في القائمة أو القاموس، تأكد من وجوده أولًا لتجنب أخطاء مثل
IndexError
أوKeyError
. - استخدم
in
للتحقق من وجود عنصر قبل التعامل معه.
- عند الوصول إلى عنصر في القائمة أو القاموس، تأكد من وجوده أولًا لتجنب أخطاء مثل
الخاتمة
في هذا الدرس، تعلمت كيفية استخدام القوائم والقواميس في بايثون. هذه الهياكل هي أدوات قوية لتنظيم البيانات وجعل الكود أكثر كفاءة. القوائم تُستخدم لتخزين مجموعة مرتبة من العناصر، بينما القواميس تُستخدم لتخزين البيانات كأزواج من المفاتيح والقيم.
في الدرس القادم، سنتحدث عن التعامل مع الملفات وكيفية قراءة البيانات من الملفات وكتابتها. استمر في الممارسة ولا تتردد في طرح الأسئلة إذا كنت بحاجة إلى مساعدة!
🚀 أنت الآن على الطريق الصحيح لتصبح مبرمجًا محترفًا!
التعليقات

لا يوجد اي تعليقات
يرجى تسجيل الدخول لترك تعليق