الكلاس dict
في بايثون
في البداية, كلمة dict
إختصار لكلمة dictionary و التي تعني قاموس أو معجم.
الـ dict
عبارة عن جدول يتألف من عامودين, الأول يحتوي المفاتيح ( Keys ) و الثاني يحتوي القيم ( Values ) الخاصة بكل عنصر.
كل عنصر يتم إضافته في dict
يجب إعطاؤه قيمتين. الأولى تمثل المفتاح ( Key ) و الثانية تمثل قيمته ( Value ).
المفاتيح تستخدم للوصول إلى القيم, لهذا لا يمكن وجود عنصرين في الـ dict
عندهم نفس المفتاح. إذاً, كل Key موضوع يسمح لك بالوصول لقيمة واحدة من القيم الموجودة في الـ dict
.
طريقة تعريف dict في بايثون
لتعريف dict
نستخدم الرمز { }
.
بداخل هذا الرمز يمكنك تمرير العناصر بشكل مباشر له بشرط وضع فاصلة بين كل عنصرين.
لا تنسى أن كل عنصر يجب أن يملك قيمتين, الأولى تمثل المفتاح و الثانية تمثل القيمة. بين كل مفتاح و قيمة نضع الرمز :
.
في التمرين التالي قمنا بتعريف dict
فارغ, أي لا يحتوي أي عنصر.
التمرين الأول
alawiri = {} # alawiri فارغ إسمه dict هنا قمت بتعريف print(alawiri) # ( أي كما قمنا بتعريفه ) كما هو data هنا قمنا بعرض ما يحتويه الكائن
•سنحصل على المخرجات التالية عند التنفيذ.
سواء كنت تقوم بتعريف dict
أو set
فإنك تستخدم الرمز { }
كما لاحظت في المثال السابق.
لهذا لا نلاحظ وجود أي فرق بين عرض ما يحتويه dict
فارغ أو set
فارغ.
بمجرد أن تضيف عنصر واحد بين الرمز { }
و تعطيه مفتاح و قيمة, عندها سيفهم مفسّر لغة بايثون أنك تقصد تعريف dict
و ليس set
.
في التمرين التالي قمنا بتعريف dict
وضعنا فيه ثلاث عناصر.
المفاتيح وضعناها كأرقام, و القيم وضعناها كنصوص مع الإشارة إلى أنه يمكنك وضع أي نوع تريد.
كما أننا قمنا تعريف كل عنصر ( أي كل مفتاح و قيمة ) على سطر منفرد لتكون قراءته أسهل فقط.
المثال الثاني
# alawiri يتألف من ثلاث عناصر, إسمه dict هنا قمت بتعريف alawiri = { 1: 'Admin', 2: 'Editor', 3: 'Reader' } # ( أي كما قمنا بتعريفه ) كما هو alawiri هنا قمنا بعرض ما يحتويه الكائن print(alawiri)
•سنحصل على النتيجة التالية عند التشغيل.
في التمرين التالي قمنا بتعريف dict
وضعنا فيه ثلاث عناصر.
المفاتيح وضعناها كنصوص, و القيم وضعناها كأرقام و نصوص.
التمرين الثالث
# mydata يتألف من ثلاث عناصر, إسمه dict هنا قمت بتعريف mydata = { 'id': 1, 'name': 'saddam', 'phone': 771144276 } # ( أي كما قمنا بتعريفه ) كما هو mydata هنا قمنا بعرض ما يحتويه الكائن print(mydata)
•سنحصل على النتيجة التالية عند التشغيل.
طريقة الوصول لقيم عناصر الـ dict
في بايثون
للوصول لأي عنصر في الـ dict
سواء للحصول على قيمته أو تغييرها أو حذفها فإننا نستخدم المفتاح الخاص بالعنصر.
في التمرين الاول قمنا بتعريف dict
وضعنا فيه ثلاث عناصر , بعدها قمنا باستخدام الرمز []
لعرض قيمة العنصر الذي يملك المفتاح رقم 1.
التمرين الأول
# data يتألف من ثلاث عناصر, إسمه dict هنا قمنا بتعريف data = { 1: 'Admin', 2: 'Editor', 3: 'Reader' } # 1 هنا قمنا بطباعة قيمة العنصر الذي يملك المفتاح رقم print(data[1])
•سنحصل على النتيجة التالية عند التشغيل.
في التمرين الثاني قمنا بتعريف dict
وضعنا فيه ثلاث عناصر, بعدها قمنا باستخدام الدالة get()
لعرض قيمة العنصر الذي يملك المفتاح رقم 1.
التمرين الثاني
# data يتألف من ثلاث عناصر, إسمه dict هنا قمنا بتعريف data = { 1: 'Admin', 2: 'Editor', 3: 'Reader' } # 1 هنا قمنا بطباعة قيمة العنصر الذي يملك المفتاح رقم print(data.get(1))
•سنحصل على النتيجة التالية عند التشغيل.
في المثال الثالث قمنا بتعريف dict
وضعنا فيه ثلاث عناصر, بعدها قمنا بعرض جميع المفاتيح الموضوعة فيه باستخدام الحلقة for
.
التمرين الثالث
# data يتألف من ثلاث عناصر, إسمه dict هنا قمنا بتعريف data = { 1: 'Admin', 2: 'Editor', 3: 'Reader' } # و من ثم سيتم طباعته key في المتغير data في كل مرة سيتم وضع مفتاح عنصر من عناصر الكائن for key in data: print(key)
•سنحصل على النتيجة التالية عند التشغيل.
2
3
في التمرين الرابع قمنا بتعريف dict
وضعنا فيه ثلاث عناصر, بعدها قمنا بعرض جميع المفاتيح الموضوعة فيه باستخدام الحلقة for
.
التمرين الرابع
# data يتألف من ثلاث عناصر, إسمه dict هنا قمنا بتعريف data = { 1: 'Admin', 2: 'Editor', 3: 'Reader' } # و من ثم سيتم طباعة قيمة هذا المفتاح key في المتغير data في كل مرة سيتم وضع مفتاح عنصر من عناصر الكائن for key in data: print(data[key])
•سنحصل على النتيجة التالية عند التشغيل.
Editor
Reader
إضافة عناصر في الـ dict
في بايثون
لإضافة عنصر جديد في الـ dict
فإننا نمرر مفتاح جديد و من بعدها نضع القيمة التي يساويها.
في المثال التالي قمنا بتعريف dict
وضعنا فيه ثلاث عناصر.
بعدها قمنا بإضافة عنصر جديد على كائن الـ dict
.
مثال
# data يتألف من ثلاث عناصر, إسمه dict هنا قمنا بتعريف data = { 1: 'Admin', 2: 'Editor', 3: 'Reader' } # 'Author' مفتاحه الرقم 4, و قيمته النص ,data هنا قمنا بإضافة عنصر جديد في الكائن data[4] = 'Author' # data هنا قمنا بعرض ما أصبح يحتويه الكائن print(data)
•سنحصل على النتيجة التالية عند التشغيل.
تبديل قيم عناصر الـ dict
في بايثون
لتبديل قيمة أي عنصر في الـ dict
فإننا نمرر مفتاح العنصر الذي نريد تبديل قيمته و من بعدها نضع القيمة الجديدة.
في المثال التالي قمنا بتعريف dict
وضعنا فيه ثلاث عناصر.
بعدها قمنا بتبديل قيمة العنصر الذي يملك مفتاح يساوي 3.
مثال
# data يتألف من ثلاث عناصر, إسمه dict هنا قمنا بتعريف data = { 1: 'Admin', 2: 'Editor', 3: 'Reader' } # 'Subscriber' وضعنا بدلاً منها النص .data هنا قمنا بتبديل قيمة العنصر الذي يملك المفتاح رقم 3 في الكائن data[3] = 'Subscriber' # data هنا قمنا بعرض ما أصبح يحتويه الكائن print(data)
•سنحصل على النتيجة التالية عند التشغيل.
طريقة حذف عناصر الـ dict
بواسطة الجملة del
في بايثون
الجملة del
تستخدم لحذف الـ dict
كما هو من الذاكرة أو لحذف عناصر محددة منه.
في التمرين الاول قمنا بتعريف dict
وضعنا فيه أرقام. بعدها قمنا بحذف عنصرين منه.
التمرين الأول
# data يتألف من ثلاث عناصر, إسمه dict هنا قمنا بتعريف data = { 1: 'Admin', 2: 'Editor', 3: 'Reader' } # data هنا قمنا بحذف العنصر الذي يملك المفتاح رقم 3 في الكائن del data[3] # data هنا قمنا بعرض ما أصبح يحتويه الكائن print(data)
•سنحصل على النتيجة التالية عند التشغيل.
في التمرين الثاني قمنا بتعريف dict
يتألف من ثلاث عناصر. بعدها قمنا بحذفه من الذاكرة. بعدها حاولنا أن نعرض ما يحتويه.
التمرين الثاني
# data يتألف من ثلاث عناصر, إسمه dict هنا قمنا بتعريف data = { 1: 'Admin', 2: 'Editor', 3: 'Reader' } # كما هو من الذاكرة data هنا قمنا بحذف الكائن del data # و الذي في الأصل قمنا بحذفه من الذاكرة لذلك سيظهر خطأ عند التشغيل data هنا حاولنا عرض ما يحتويه الكائن print(data)
•سنحصل على النتيجة التالية عند التشغيل.
طريقة معرفة ما إذا كان الـ dict
يحتوي على مفتاح معين في بايثون
العامل in
يستخدم للبحث في الـ dict
عن مفتاح معين أو للمرور على قيمه عند إستخدامه في الحلقة for
كما فعلنا في بعض الأمثلة السابقة.
عند استخدام العامل in
للبحث في الـ dict
عن مفتاح ما فإنه يرجع True
في حال تم إيجاد عنصر يملك هذا المفتاح.
و يرجع False
في حال لم يجد عنصر يملك هذا المفتاح.
في التمرين التالي إستخدمنا العامل in
للبحث في الـ dict
عن عنصر يملك مفتاح يساوي 2.
تمرين
# data يتألف من ثلاث عناصر, إسمه dict هنا قمنا بتعريف data = { 1: 'Admin', 2: 'Editor', 3: 'Reader' } # True عن المفتاح رقم 2. إذا تم إيجاد عنصر يملك هذا المفتاح سيتم عرض القيمة data هنا سيتم البحث في الكائن print(2 in data)
•سنحصل على النتيجة التالية عند التشغيل.
True
طريقة معرفة عدد عناصر الـ dict
في بايثون
لمعرفة عدد عناصر كائن نوعه dict
نستخدم الدالة len()
.
في التمرين التالي قمنا بتعريف dict
يتألف من ثلاث عناصر. بعدها قمنا بطابعة عدد عناصره بواسطة الدالة len()
.
تمرين يشرح الدالة ()clear
في بايثون
# data يتألف من ثلاث عناصر, إسمه dict هنا قمنا بتعريف data = { 1: 'Admin', 2: 'Editor', 3: 'Reader' } # len() الذي سترجعه الدالة data هنا قمنا بعرض عدد عناصر الكائن print(len(data))
•سنحصل على النتيجة التالية عند التشغيل.
Python شرح دوال الكلاس dict
في بايثون
تستخدم الدالة ()clear ل
حذف جميع عناصر الـdict
الذي قام باستدعائها.
جسم الدالة ()clear يكون بالشكل التالي
dict.clear()
الدالة ()clear
لا تقبل أي باراميتر.
الدالة ()clear
لا ترجع قيمة.
مثال عملي لفهم عمل الدالة ()clear في بايثون
# data يتألف من ثلاث عناصر, إسمه dict هنا قمنا بتعريف data = { 1: 'Admin', 2: 'Editor', 3: 'Reader' } # data هنا قمنا بحذف جميع العناصر الموجودة في الكائن data.clear() # فارغ dict و الذي سيظهر كـ data هنا قمنا بعرض ما يحتويه الكائن print('data contains:', data)
•سنحصل على المخرجات التالية عند التشغيل.
شرح الدالة ()copy
في بايثون
ترجع نسخة من الـdict
الذي قام باستدعائها.
جسم وهيكل الداله Copy () بالشكل التالي
dict.copy()
الدالة Copy () لا تقبل أي باراميتر وترجع نسخة من الـdict
الذي قام باستدعائها.
تمرين الدالة Copy ()
# data1 يتألف من ثلاث عناصر, إسمه dict هنا قمنا بتعريف data1 = { 1: 'Admin', 2: 'Editor', 3: 'Reader' } # data2 في الكائن data1 هنا قمنا بنسخ عناصر الكائن data2 = data1.copy() # data2 و data1 هنا قمنا بعرض ما يحتويه الكائن print('dict1 contains:', data1) print('dict2 contains:', data2)
•سنحصل على المخرجات التالية عند التشغيل.
dict2 contains: {1: 'Admin', 2: 'Editor', 3: 'Reader'}
شرح الدالة () popitem
في بايثون
ترجع آخر عنصر تم إضافته في كائن الـdict
الذي قام باستدعائها و من ثم تحذفه منه.
جسم الدالة popitem
dict.popitem()
لا تقبل أي باراميتر وترجع العنصر الذي تم حذفه من الـdict
.
أخطاء الدالة popitem
ترمي الإستثناء KeyError في حال كان الـdict
فارغ.
تمرين الدالة popitem
# data يتألف من ثلاث عناصر, إسمه dict هنا قمنا بتعريف data = { 1: 'Admin', 2: 'Editor', 3: 'Reader' } # و عرض قيمته data هنا قمنا باستخراج آخر عنصر موجود في الكائن print('Returned element:', data.popitem()) # data هنا قمنا بعرض العناصر المتبقية في الكائن print('Remaining elements:', data)
•سنحصل على المخرجات التالية عند التشغيل.
Remaining elements: {1: 'Admin', 2: 'Editor'}
شرح الدالة ()pop
في بايثون
تبحث في كائن الـdict
الذي قام باستدعائها عن العنصر الذي يملك نفس المفتاح الذي نمرره لها مكان الباراميتر key
و من ثم تحذفه منه.
جسم الدالة pop
dict.pop(key[, default])
باراميترات الدالة pop
مكان الباراميتر
key
نمرر مفتاح العنصر الذي نريد الحصول عليه.الباراميتر
default
هو باراميتر إختياري, يمكنك أن تمرر مكانه قيمة إفتراضية يتم إرجاعها فقط في حال لم يتم العثور على عنصر يملك المفتاح الذي مررناه لها مكان الباراميترkey
.
الدالة pop ترجع العنصر الذي تم حذفه من الـdict
.
أو ترجع القيمة الإفتراضية التي تم تمريريها مكان الباراميتر default
في حال لم يتم العثور على عنصر يملك المفتاح الذي مررناه لها مكان الباراميتر key
.
أخطاء محتملة تحدث في الدالة pop
في حال لم يتم العثور على المفتاح المراد حذف العنصر الذي يملكه و لم تمرر لها قيمة مكان الباراميتر default
ترمي الإستثناء KeyError.
التمرين الأول الدالة pop
# data يتألف من ثلاث عناصر, إسمه dict هنا قمنا بتعريف data = { 1: 'Admin', 2: 'Editor', 3: 'Reader' } # و من ثم عرضناه كما هو data هنا قمنا باستخراج العنصر الذي يملك المفتاح رقم 2 من الكائن print('Returned element:', data.pop(2)) # data هنا قمنا بعرض العناصر المتبقية في الكائن print('Remaining elements:', data)
•سنحصل على المخرجات التالية عند التشغيل.
Remaining elements: {1: 'Admin', 3: 'Reader'}
المثال الثاني الدالة pop
# data يتألف من ثلاث عناصر, إسمه dict هنا قمنا بتعريف data = { 1: 'Admin', 2: 'Editor', 3: 'Reader' } # و من ثم عرضناه كما هو data هنا حاولنا استخراج العنصر الذي يملك المفتاح رقم 5 من الكائن # بما أنه لا يوجد عنصر يملك مفتاح يساوي الرقم 5, سيتم إظهار خطأ عند تشغيل البرنامج print('Returned element:', data.pop(5)) # data هنا قمنا بعرض العناصر المتبقية في الكائن print('Remaining elements:', data)
•سنحصل على المخرجات التالية عند التشغيل.
KeyError: 5
المثال الثالث الدالة pop
# data يتألف من ثلاث عناصر, إسمه dict هنا قمنا بتعريف data = { 1: 'Admin', 2: 'Editor', 3: 'Reader' } # و من ثم عرضناه كما هو data هنا حاولنا استخراج العنصر الذي يملك المفتاح رقم 5 من الكائن # بما أنه لا يوجد عنصر يملك مفتاح يساوي الرقم 5 و يوجد قيمة إفتراضية, سيتم إرجاع القيمة الإفتراضية print('Returned element:', data.pop(5, 'No item returned')) # data هنا قمنا بعرض العناصر المتبقية في الكائن print('Remaining elements:', data)
•سنحصل على المخرجات التالية عند التشغيل.
Remaining elements: {1: 'Admin', 2: 'Editor', 3: 'Reader'}
Python شرح الدالة ()get
في بايثون
الدالة ()get
تبحث في كائن الـdict
الذي قام باستدعائها عن قيمة المفتاح الذي نمرره لها مكان الباراميتر key
و ترجعها.
الدالة ()get لها الشكل التالي
dict.get(key[, default])
باراميترات الدالة ()get
مكان الباراميتر
key
نمرر مفتاح العنصر الذي نريد الحصول على قيمته.الباراميتر
default
هو باراميتر إختياري, يمكنك أن تمرر مكانه قيمة إفتراضية يتم إرجاعها فقط في حال لم يتم العثور على عنصر يملك المفتاح الذي مررناه لها مكان الباراميترkey
.
الدالة ()get
ترجع قيمة المفتاح المراد البحث عنها في الـdict
في حال تم إيجاد عنصر يملك المفتاح.
ترجع None
في حال لم يتم إيجاد عنصر يملك المفتاح و لم نمرر لها قيمة إفتراضية.
في حال تم تمرير قيمة إفتراضية لها و لم يتم إيجاد عنصر يملك المفتاح المراد الحصول على قيمته, فإنها ترجع القيمة الإفتراضية.
التمرين الأول الدالة ()get
# data يتألف من ثلاث عناصر, إسمه dict هنا قمنا بتعريف data = { 1: 'Admin', 2: 'Editor', 3: 'Reader' } # بعدها قمنا بعرضها ,data هنا قمنا بالحصول على قيمة العنصر الذي يملك المفتاح رقم 2 من الكائن print('Returned value:', data.get(2))
•سنحصل على المخرجات التالية عند التشغيل.
المثال الثاني الدالة ()get
# data يتألف من ثلاث عناصر, إسمه dict هنا قمنا بتعريف data = { 1: 'Admin', 2: 'Editor', 3: 'Reader' } # و من ثم قمنا بعرضها ,data هنا حاولنا الحصول على قيمة العنصر الذي يملك المفتاح رقم 5 من الكائن # بما أنه لا يوجد عنصر يملك مفتاح يساوي الرقم 5, سيتم إظهار خطأ عند تشغيل البرنامج print('Returned value:', data.get(5))
•سنحصل على المخرجات التالية عند التشغيل.
التمرين الثالث الدالة ()get
# data يتألف من ثلاث عناصر, إسمه dict هنا قمنا بتعريف data = { 1: 'Admin', 2: 'Editor', 3: 'Reader' } # و من ثم قمنا بعرضها ,data هنا حاولنا الحصول على قيمة العنصر الذي يملك المفتاح رقم 5 من الكائن # بما أنه لا يوجد عنصر يملك مفتاح يساوي الرقم 5 و يوجد قيمة إفتراضية, سيتم إرجاع القيمة الإفتراضية print('Returned value:', data.get(5, 'No value found with the specified key'))
•سنحصل على المخرجات التالية عند التشغيل.
شرح الدالة () keys
في بايثون
الدالة ()keys
ترجع مصفوفة نوعها dict_keys
فيها جميع المفاتيح الموجودة في كائن الـdict
الذي قام باستدعائها.
هام : مصفوفة المفاتيح التي يتم إرجاعها, هي ليست نسخة عن المفاتيح الموجودة في كائن الـdict
بل هي نفسها. و بالتالي أي تعديل يتم إجراؤه على المفاتيح من كائن الـdict
ينعكس على مصفوفة المفاتيح و العكس كذلك.
الدالة ()keys لها الشكل التالي
dict.keys()
الدالة ()keys لا
تقبل أي باراميتر.
الدالة ()keys
ترجع مصفوفة نوعها dict_keys
فيها جميع المفاتيح الموجودة في كائن الـdict
الذي قام باستدعائها مع الإشارة إلى أن هذه المصفوفة ليست نسخة عن المفاتيح الموجودة في كائن الـdict
بل هي نفسها. و بالتالي أي تعديل يتم إجراؤه على المفاتيح من كائن الـdict
ينعكس على مصفوفة المفاتيح و العكس كذلك.
التمرين الأول الدالة ()keys
# data يتألف من ثلاث عناصر, إسمه dict هنا قمنا بتعريف data = { 1: 'Admin', 2: 'Editor', 3: 'Reader' } # keys في الكائن keys() الذي سترجعه الدالة dict_keys هنا قمنا بتخزين الكائن keys = data.keys() # كما هو keys هنا قمنا بعرض ما يحتويه الكائن print(keys)
•سنحصل على المخرجات التالية عند التشغيل.
التمرين الثاني الدالة ()keys
# data يتألف من ثلاث عناصر, إسمه dict هنا قمنا بتعريف data = { 1: 'Admin', 2: 'Editor', 3: 'Reader' } # keys في الكائن keys() الذي سترجعه الدالة dict_keys هنا قمنا بتخزين الكائن keys = data.keys() # data هنا قمنا بحذف العنصر الذي يملك المفتاح رقم 3 من الكائن data.pop(3) # data هنا قمنا بإضافة عنصر جديد على الكائن data[4] = 'Moderator' # keys تم تطبيقها أيضاً على الكائن data كما هو. لاحظ أن جميع التغيرات التي فعلناها على الكائن keys هنا قمنا بعرض ما يحتويه الكائن print(keys)
•سنحصل على المخرجات التالية عند التشغيل.
شرح الدالة () values
في بايثون
الدالة ()values
ترجع مصفوفة نوعها dict_values
فيها جميع القيم الموجودة في كائن الـdict
الذي قام باستدعائها.
هام: مصفوفة القيم التي يتم إرجاعها, هي ليست نسخة عن القيم الموجودة في كائن الـdict
بل هي نفسها. و بالتالي أي تعديل يتم إجراؤه على القيم من كائن الـdict
ينعكس على مصفوفة القيم و العكس كذلك.
الدالة ()values لها الشكل التالي
dict.values()
الدالة ()values
لا تقبل أي باراميتر.
الدالة ()values
ترجع مصفوفة نوعها dict_values
فيها جميع القيم الموجودة في كائن الـdict
الذي قام باستدعائها مع الإشارة إلى أن هذه المصفوفة ليست نسخة عن القيم الموجودة في كائن الـdict
بل هي نفسها. و بالتالي أي تعديل يتم إجراؤه على القيم من كائن الـdict
ينعكس على مصفوفة القيم و العكس كذلك.
التمرين الأول الدالة ()values
# data يتألف من ثلاث عناصر, إسمه dict هنا قمنا بتعريف data = { 1: 'Admin', 2: 'Editor', 3: 'Reader' } # values في الكائن values() الذي سترجعه الدالة dict_values هنا قمنا بتخزين الكائن values = data.values() # كما هو values هنا قمنا بعرض ما يحتويه الكائن print(values)
•سنحصل على المخرجات التالية عند التنفيذ.
التمرين الثاني الدالة ()values
# data يتألف من ثلاث عناصر, إسمه dict هنا قمنا بتعريف data = { 1: 'Admin', 2: 'Editor', 3: 'Reader' } # values في الكائن values() الذي سترجعه الدالة dict_values هنا قمنا بتخزين الكائن values = data.values() # data هنا قمنا بتغيير قيمة العنصر الذي يملك المفتاح رقم 3 في الكائن data[3] = 'Subscriber' # data هنا قمنا بإضافة عنصر جديد على الكائن data[4] = 'Moderator' # values تم تطبيقها أيضاً على الكائن data كما هو. لاحظ أن جميع التغيرات التي فعلناها على الكائن values هنا قمنا بعرض ما يحتويه الكائن print(values)
•سنحصل على المخرجات التالية عند عند التنفيذ.
Python شرح الدالة ()items
في بايثون
الدالة ()items
ترجع مصفوفة نوعها dict_items
فيها جميع العناصر الموجودة في كائن الـdict
الذي قام باستدعائها.
هام : مصفوفة العناصر التي يتم إرجاعها, هي ليست نسخة عن العناصر الموجودة في كائن الـdict
بل هي نفسها. و بالتالي أي تعديل يتم إجراؤه على العناصر من كائن الـdict
ينعكس على مصفوفة العناصر و العكس كذلك.
الدالة ()items لها الشكل التالي
dict.items()
الدالة ()items
لا تقبل أي باراميتر.
الدالة ()items
ترجع مصفوفة نوعها dict_items
فيها جميع العناصر الموجودة في كائن الـdict
الذي قام باستدعائها مع الإشارة إلى أن هذه المصفوفة ليست نسخة عن العناصر الموجودة في كائن الـdict
بل هي نفسها. و بالتالي أي تعديل يتم إجراؤه على العناصر من كائن الـdict
ينعكس على مصفوفة العناصر و العكس كذلك.
التمرين الأول الدالة ()items
# data يتألف من ثلاث عناصر, إسمه dict هنا قمنا بتعريف data = { 1: 'Admin', 2: 'Editor', 3: 'Reader' } # items في الكائن items() الذي سترجعه الدالة dict_items هنا قمنا بتخزين الكائن items = data.items() # كما هو items هنا قمنا بعرض ما يحتويه الكائن print(items)
•سنحصل على النتيجة التالية عند التشغيل.
المثال الثاني الدالة ()items
# data يتألف من ثلاث عناصر, إسمه dict هنا قمنا بتعريف data = { 1: 'Admin', 2: 'Editor', 3: 'Reader' } # items في الكائن items() الذي سترجعه الدالة dict_items هنا قمنا بتخزين الكائن items = data.items() # data هنا قمنا بتغيير قيمة العنصر الذي يملك المفتاح رقم 3 في الكائن data[3] = 'Subscriber' # data هنا قمنا بإضافة عنصر جديد على الكائن data[4] = 'Moderator' # items تم تطبيقها أيضاً على الكائن data كما هو. لاحظ أن جميع التغيرات التي فعلناها على الكائن items هنا قمنا بعرض ما يحتويه الكائن print(items)
•سنحصل على المخرجات التالية عند التنفيذ .
Python شرح الدالة ()fromkeys
في بايثون
تستخدم الدالة ()fromkeys
لإنشاء dict
جديد مبني على قيم مصفوفة نمررها له.
عند إستدعاءها نمرر لها كائن يمثل مصفوفة من أي نوع مكان الباراميتر seq
, عناصر هذا الكائن يتم وضعها كمفاتيح في كائن الـ dict
الذي سيتم إرجاعه.
مكان الباراميتر value
يمكنك تمرير القيمة الإفتراضية التي تريد وضعها لجميع عناصر كائن الـ dict
الذي سيتم إرجاعه.
و في حال لم تقم بتمرير قيمة إفتراضية مكان الباراميتر value
ستكون جميع قيمه تساوي None
.
الدالة ()fromkeys
لها التالي
dict.fromkeys(seq[, value])
باراميترات الدالة ()fromkeys
مكان الباراميتر
seq
نمرر مصفوفة من أي نوع.الباراميتر
value
هو باراميتر إختياري, يمكنك أن تمرر مكانه قيمة إفتراضية ليتم وضعها لجميع عناصر كائن الـdict
الذي سيتم إرجاعه.
الدالة ()fromkeys
ترجع dict
جديد.
المثال الأول الدالة ()fromkeys
# يتألف من 4 عناصر tuple هنا قمنا بتعريف aTuple = (1, 2, 3, 4) # None و لم نحدد قيمه الإفتراضية لذلك ستكون جميعها تساوي aTuple جديد مفاتيحه هي القيم الموجودة في الكائن dict هنا قمنا بإنشاء كائن aDict = dict.fromkeys(aTuple) # aDict هنا قمنا بعرض ما يحتوي الكائن print(aDict)
•سنحصل على النتيجة التالية عند التشغيل.
التمرين الثاني الدالة ()fromkeys
# يتألف من 4 عناصر tuple هنا قمنا بتعريف aTuple = (1, 2, 3, 4) # 'Not Specified' و القيمة الإفتراضية لجميع عناصره هي النص aTuple جديد مفاتيحه هي القيم الموجودة في الكائن dict هنا قمنا بإنشاء كائن aDict = dict.fromkeys(aTuple, 'Not Specified') # aDict هنا قمنا بعرض ما يحتوي الكائن print(aDict)
•سنحصل على النتيجة التالية عند التشغيل.
الدالة ()setdefaul
في بايثون
تستخدم الدالة ()setdefaul
للحصول على قيمة مفتاح موجود في كائن الـdict
الذي قام باستدعائها, أو لإضافة عنصر جديد فيه مع إرجاع قيمته أيضاً.
مكان الباراميتر key
نمرر مفتاح العنصر الذي إن كان موجوداً في كائن الـdict
سيتم إرجاع قيمته فقط, و إن لم يكن موجوداً سيتم إضافته و إرجاع قيمته.
مكان الباراميتر default
يمكنك تمرير القيمة الإفتراضية التي تريد وضعها للعنصر في حال تم إضافته لأنه إفتراضياً إن تم إضافة عنصر جديد ستكون قيمته None
.
جسم الدالة ()setdefaul
dict.setdefault(key[, default])
باراميترات الدالة ()setdefaul
مكان الباراميتر
key
نمرر مفتاح العنصر الذي إن كان موجوداً في كائن الـdict
سيتم إرجاع قيمته فقط, و إن لم يكن موجوداً سيتم إضافته و إرجاع قيمته.الباراميتر
default
هو باراميتر إختياري, يمكنك أن تمرر مكانه القيمة الإفتراضية التي تريد وضعها للعنصر في حال كان سيتم إضافته.
الدالة ()setdefaul
ترجع قيمة المفتاح الذي تم تمريره لها مكان الباراميتر key
.
التمرين الأول الدالة ()setdefaul
# data يتألف من ثلاث عناصر, إسمه dict هنا قمنا بتعريف data = { 1: 'Admin', 2: 'Editor', 3: 'Reader' } # بعدها قمنا بعرضها ,data هنا قمنا بالحصول على قيمة العنصر الذي يملك المفتاح رقم 3 من الكائن print('Returned value:', data.setdefault(3))
•سنحصل على النتيجة التالية عند التشغيل.
التمرين الثاني الدالة ()setdefaul
# data يتألف من ثلاث عناصر, إسمه dict هنا قمنا بتعريف data = { 1: 'Admin', 2: 'Editor', 3: 'Reader' } # و من ثم قمنا بعرضها ,data هنا حاولنا الحصول على قيمة العنصر الذي يملك المفتاح رقم 4 من الكائن # None مفتاحه الرقم 4 و قيمته data بما أنه لا يوجد عنصر يملك مفتاح يساوي الرقم 4, سيتم إضافة عنصر جديد على الكائن print('Returned value:', data.setdefault(4)) # data هنا قمنا بعرض جميع العناصر الموجودة في الكائن print('data contains:', data)
•سنحصل على النتيجة التالية عند التشغيل.
data contains: {1: 'Admin', 2: 'Editor', 3: 'Reader', 4: None}
التمرين الثالث الدالة ()setdefaul
# data يتألف من ثلاث عناصر, إسمه dict هنا قمنا بتعريف data = { 1: 'Admin', 2: 'Editor', 3: 'Reader' } # و من ثم قمنا بعرضها ,data هنا حاولنا الحصول على قيمة العنصر الذي يملك المفتاح رقم 4 من الكائن # 'Subscriber' مفتاحه الرقم 4 و قيمته النص data بما أنه لا يوجد عنصر يملك مفتاح يساوي الرقم 4, سيتم إضافة عنصر جديد على الكائن print('Returned value:', data.setdefault(4, 'Subscriber')) # data هنا قمنا بعرض جميع العناصر الموجودة في الكائن print('data contains:', data)
•سنحصل على النتيجة التالية عند التشغيل.
data contains: {1: 'Admin', 2: 'Editor', 3: 'Reader', 4: 'Subscriber'}
شرح الدالة ()update
في بايثون
تستخدم الدالة update لتحديث قيم عناصر الـdict
الذي قام باستدعائها على أساس المفاتيح الموجودة فيه.
جسم الدالة update بالشكل التالي
dict.update([other])
الدالة update لها الباراميتر other وهو باراميتر إختياري نمرر مكانه كائن dict
فيه عنصر واحد أو مجموعة العناصر التي نريد تحديث قيمها في كائن الـdict
الذي قام باستدعائها.
أي عنصر نمرره مكان الباراميتر other
يملك مفتاح غير موجود في كائن الـdict
الذي قام باستدعائها سيتم إضافته فيه . وترجع None
في حال لم يحدث أي خطأ.
التمرين الأول
# data يتألف من ثلاث عناصر, إسمه dict هنا قمنا بتعريف data = { 1: 'Admin', 2: 'Editor', 3: 'Reader' } # data هنا قمنا بتحديث قيمة العنصر الذي يملك المفتاح رقم 3 في الكائن data.update({3: 'Subscriber'}) # data هنا قمنا بعرض جميع عناصر الكائن print(data)
•سنحصل على النتيجة التالية عند التشغيل.
التمرين الثاني
# data يتألف من ثلاث عناصر, إسمه dict هنا قمنا بتعريف data = { 1: 'Admin', 2: 'Editor', 3: 'Reader' } # و إضافة عنصر جديد لأنه لا يوجد عنصر يمكل مفتاح يساوي 4 data هنا قمنا بتحديث قيمة العنصر الذي يملك المفتاح رقم 3 في الكائن data.update({ 3: 'Subscriber', 4: 'Moderator' }) # data هنا قمنا بعرض جميع عناصر الكائن print(data)
•سنحصل على النتيجة التالية عند التشغيل.