مختصر كتابي: العمل مع المجموعات (Working with collections)

كيف نصل إلى البيانات داخل القائمة والقاموس؟

المتغير العادي فيه قيمة واحدة، فنطبعه مباشرة باسمه. أما المجموعة (Collection) ففيها عدة قيم في متغير واحد، لذلك نحتاج طريقة للوصول (Access) إلى قيمة بعينها: في القائمة (List) نصل بـرقم الترتيب (Index)، وفي القاموس (Dictionary) نصل بـالمفتاح (Key).

إنفوجرافيك: القائمة نصل إليها بالـ Index من صفر والقاموس بالمفتاح
ملخص الدرس في صورة واحدة. اضغط على الصورة لتكبيرها.

تشبيه يقرّب الفكرة: غرف الفندق

  • الفندق فيه غرف، ولكل غرفة رقم، والأرقام متسلسلة: 1، 2، 3…
  • المجموعات في البرمجة مثل الفندق، لكل عنصر فيها رقم اسمه Index.
  • الفرق المهم: الترقيم في المجموعات في أي لغة برمجة يبدأ من الصفر، وليس من الواحد. وهذا خطأ يقع فيه كثير من الناس.

لو الفندق فيه أربع غرف، فأرقامها هكذا:

Indexالقيمة
0"yellow"
1"red"
2"blue"
3"black"

الوصول إلى عناصر القائمة

نكتب اسم المتغير، ثم نفتح قوسين مربعين ونضع بينهما الـ Index. لطباعة blue نستخدم الرقم 2:

color1 = "yellow"

color_list = [
    "yellow",  # 0
    "red",     # 1
    "blue",    # 2
    "black"    # 3
]

print(color1)
print(color_list[2])

عند التشغيل يطبع البرنامج:

yellow
blue

لاحظ أن الفكرة واحدة في الحالتين: مع المتغير العادي نعطي print اسم المتغير فقط لأن فيه قيمة واحدة، ومع القائمة نعطيها اسم المتغير ومعه الـ Index لأن فيها عدة قيم.

الوصول إلى عناصر القاموس

  • القاموس ليس فيه قيم فقط مثل القائمة، بل فيه جزآن: المفتاح (على اليسار) والقيمة (على اليمين).
  • لذلك لا نصل إليه بالـ Index، فالرقم وحده لن يوضح هل تريد الاسم أم رقم التليفون.
  • نصل إليه بالمفتاح (Key) أو الـ Label، ونضعه بين القوسين المربعين.
  • عندما تفتح القوس، يقترح عليك VS Code المفاتيح الموجودة في القاموس مباشرة.
phone_book = {
    "ahmed": "01000000001",
    "mohamed": "01000000002",
    "ali": "01000000003",
    "sara": "01000000004",
}

print(phone_book["ahmed"])
print(phone_book["mohamed"])

عند التشغيل يطبع رقم أحمد ثم رقم محمد: 01000000001 ثم 01000000002 (الأرقام للتوضيح فقط).

الخلاصة

  • في القائمة نصل إلى العنصر بالـ Index: color_list[2].
  • الـ Index يبدأ من صفر، فأول عنصر رقمه 0.
  • في القاموس نصل إلى القيمة بالمفتاح: phone_book["ahmed"].
  • في الدرس القادم نرى المجموعات في لغات برمجة مختلفة، ثم للوصول إلى كل القيم مرة واحدة أو البحث فيها نتعلم التكرارات (Iterations) في القسم القادم.

مصطلحات الدرس

المصطلحبالإنجليزيةالمعنى
الوصولAccessقراءة قيمة معينة من داخل المجموعة
رقم الترتيبIndexرقم مكان العنصر في القائمة، ويبدأ من 0
المفتاحKey / Labelما نصل به إلى القيمة في القاموس
القيمةValueالمعلومة المرتبطة بالمفتاح
التكراراتIterationsطريقة المرور على كل القيم، وموضوع القسم القادم

هذا درس مجاني من «أساسيات البرمجة باستخدام لغة بايثون ٢». اشترك للوصول إلى كل الدروس والاختبارات والشهادة.

اعرف تفاصيل الاشتراك ←