بايثون - Dictionaries

مفهوم الكلاس dict

النوع dict يمثل جدول يتألف من عمودين، الأول يحتوي على المفاتيح ( Keys ) و الثاني يحتوي على القيم ( Values ) الخاصة بكل عنصر.

إذاً، كل عنصر يتم إضافته في هذا الجدول يجب إعطاؤه قيمتين، الأولى تمثل المفتاح و الثانية تمثل قيمته.
و هكذا من خلال المفتاح الخاص بكل عنصر يمكن الوصول إلى قيمته، لهذا لا يمكن وجود عنصرين عندهم نفس المفتاح.

الكلمة dict إختصار لكلمة dictionary و التي تعني قاموس أو معجم.


طريقة تعريف dict

لتعريف dict نستخدم الرمز { } و بداخله يمكن تمرير العناصر بشكل مباشر له بشرط وضع فاصلة بين كل عنصرين.

كل عنصر يتم إضافته فيه يجب وضع نقطتين فوق بعض : بين مفتاحه و قيمته.


في المثال التالي قمنا بتعريف dict فارغ، أي لا يحتوي أي عنصر.

المثال الأول

Test.py
data = {}        # data فارغ إسمه dict هنا قمنا بتعريف
print(data)      # ( أي كما قمنا بتعريفه ) كما هو data هنا قمنا بعرض ما يحتويه الكائن

النتيجة

{}

سواء أردنا تعريف dict أو set فإننا نستخدم الرمز { } و لكننا لا نستطيع ملاحظة وجود أي فرق بين عرض محتوى dict فارغ أو set فارغ. الفرق نلاحظه بمجرد إضافة عنصر واحد بين الرمز { } فبمجرد إعطائه مفتاح و قيمة فإن مفسّر لغة بايثون سيفهم أننا نريد تعريف dict و ليس set.


في المثال التالي قمنا بتعريف dict وضعنا فيه ثلاث عناصر.
المفاتيح وضعناها كأرقام، و القيم وضعناها كنصوص مع الإشارة إلى أنه يمكنك وضع أي نوع تريد.
كما أننا قمنا تعريف كل عنصر ( أي كل مفتاح و قيمة ) على سطر منفرد لتكون قراءته أسهل فقط.

المثال الثاني

Test.py
# data يتألف من ثلاث عناصر و إسمه dict هنا قمنا بتعريف
data = {
    1: 'Admin',
    2: 'Editor',
    3: 'Reader'
}

# ( أي كما قمنا بتعريفه ) كما هو data هنا قمنا بعرض ما يحتويه الكائن
print(data)

النتيجة

{1: 'Admin', 2: 'Editor', 3: 'Reader'}

في المثال التالي قمنا بتعريف dict وضعنا فيه ثلاث عناصر.
المفاتيح وضعناها كنصوص، و القيم وضعناها كأرقام و نصوص.

المثال الثالث

Test.py
# data يتألف من ثلاث عناصر و إسمه dict هنا قمنا بتعريف
data = {
    'id': 1,
    'name': 'Mhamad',
    'mobile': 70123456
}

# ( أي كما قمنا بتعريفه ) كما هو data هنا قمنا بعرض ما يحتويه الكائن
print(data)

النتيجة

{'id': 1, 'name': 'Mhamad', 'mobile': 70123456}

جاهز لرحلة التحدي؟

قم بتوليد تمارين لا نهائية بشكل تدريجي (10 في كل مرة) بناءً على هذا الدرس. كل تمرين مصمم لرفع مستوى تفكيرك المنطقي.