القواميس فى بايثون | Python Dictionaries
سنناقش فى هذا الفصل القواميس فى بايثون | Python Dictionaries، ستتعرف على الـ dictionaries بشكل عام وكيفية استخدامها والتعامل معها، مع بعض الأمثلة التوضيحية.
القواميس فى بايثون | Python Dictionaries
الـ dictionary في Python عبارة عن مجموعة غير مرتبة من قيم البيانات ، تُستخدم لتخزين قيم البيانات، والتي بخلاف أنواع البيانات الأخرى التي تحتوي على قيمة واحدة فقط كعنصر.
في Python ، يتم كتابة الـ dictionary داخل أقواس متعرجة { }، وله مفتاح وقيمة { key: value }.
مثال على إنشاء dictionary فى بايثون:
userInfo = { "user_id": 300, "username": "Mohamed", "email": "mohamed99@gmail.com" } print(userInfo) # output = {'user_id': 300, 'username': 'Mohamed', 'email': 'mohamed99@gmail.com'}
()dict
من الممكن أيضًا استخدام ()dict لإنشاء dictionary جديد، كالتالى:
myDictionary = dict(username="Ahmed", mail="ahmed44@gmail.com", age=23) print(myDictionary) # output = {'username': 'Ahmed', 'mail': 'ahmed44@gmail.com', 'age': 23}
الوصول للقيم | Access Values
يمكنك الوصول إلى عناصر الـ dictionary عن طريق:
- الرجوع إلى اسم المفتاح key داخل الأقواس المربعة.
- أو عن طريق method الـ ()get (ستعطيك نفس النتيجة).
أمثلة للتوضيح:
userInfo = { "user_id": 300, "username": "Mohamed", "email": "mohamed99@gmail.com" } # ----- First method ------ x = userInfo["username"] print(x) # output = Mohamed # ----- Second method ------ y = userInfo.get("username") print(y) # output = Mohamed
إضافة عنصر جديد | Add New Item
تتم إضافة عنصر إلى الـ dictionary باستخدام مفتاح key الـ index جديد وتعيين قيمة له، كالتالى:
userInfo = { "user_id": 300, "username": "Mohamed", "email": "mohamed99@gmail.com" } userInfo["age"] = 20 print(userInfo) # output = {'user_id': 300, 'username': 'Mohamed', 'email': 'mohamed99@gmail.com', 'age': 20}
تغيير قيمة عنصر | Change Item Value
يمكنك تغيير قيمة عنصر معين بالرجوع إلى اسم المفتاح key الخاص به، كالتالى:
userInfo = { "user_id": 300, "username": "Mohamed", "email": "mohamed99@gmail.com" } userInfo['user_id'] = 400 print(userInfo) # output = {'user_id': 400, 'username': 'Mohamed', 'email': 'mohamed99@gmail.com', 'age': 20}
حذف عنصر | Remove Item
هناك عدة طرق لإزالة عنصر من الـ dictionary:
- ()pop: يزيل العنصر باسم المفتاح المحدد.
- ()popitem: يزيل آخر عنصر تم وضعه.
أمثلة للتوضيح:
userInfo = { "user_id": 300, "username": "Mohamed", "email": "mohamed99@gmail.com" } # -- First method -- userInfo.pop("user_id") print(userInfo) # output = {'username': 'Mohamed', 'email': 'mohamed99@gmail.com'} # -- Second method -- userInfo.popitem() print(userInfo) # output = {'user_id': 300, 'username': 'Mohamed'}
لتفريغ الـ dictionary يمكنك إستخدام method الـ ()clear، كالتالى:
userInfo = { "user_id": 300, "username": "Mohamed", "email": "mohamed99@gmail.com" } userInfo.clear() print(userInfo) # output = {}
لإزالة الـ dictionary تمامًا، يمكنك إستخدام كلمة del، كالتالى:
userInfo = { "user_id": 300, "username": "Mohamed", "email": "mohamed99@gmail.com" } del userInfo print(userInfo) # output = Error, because dictionary deleted completely.
معرفة عدد العناصر | Length of Dictionary
لتحديد عدد العناصر الموجودة في الـ dictionary، استخدم method الـ ()len، كالتالى:
userInfo = { "user_id": 300, "username": "Mohamed", "email": "mohamed99@gmail.com" } z = len(userInfo) print(z) # output = 3
تحقق مما إذا كان العنصر موجودًا | Check if Item Exist
لتحديد ما إذا كان عنصر ما موجودًا في dictionary، استخدم الـ for-loop مع كلمة in، كالتالى:
userInfo = { "user_id": 300, "username": "Mohamed", "email": "mohamed99@gmail.com" } if "username" in userInfo: print("Done, Username exist!")
عمل تكرار على القاموس | Dictionary List
يمكنك تكرار الـ dictionary باستخدام for loop.
عند التكرار في dictionary، تكون القيمة المرجعة هي مفاتيح الـ dictionary.
ولكن هناك طرق أخرى لإرجاع القيم أيضًا، سنتعرف عليها عن طريق هذه الأمثلة:
userInfo = { "user_id": 300, "username": "Mohamed", "email": "mohamed99@gmail.com" } # -- First method -- for z in userInfo: print(z) # -- Second method -- for z in userInfo: print(userInfo[z]) # -- Third method [Loop through both keys and values by using the items() method] -- for z, y in userInfo.items(): print(z, y)
تداخل القواميس | Nested Dictionaries
يمكن أن يحتوي القاموس على العديد من القواميس داخل بعض، ويسمى هذا بالـ Nested dictionaries (أى القواميس المتداخلة). كالتالى:
# --- First method --- users = { "user_1" : { "username": "Ahmed", "mail": "ahmed44@gmail.com", "age": 23 }, "user_2" : { "username": "Mohamed", "mail": "mohamed49@gmail.com", "age": 26 }, "user_3" : { "username": "Noor", "mail": "noor22@gmail.com", "age": 21 }, "user_4" : { "username": "Aymen", "mail": "aymen76@gmail.com", "age": 43 } } # --- Second method --- user_1 = { "username": "Ahmed", "mail": "ahmed44@gmail.com", "age": 23 } user_2 = { "username": "Mohamed", "mail": "mohamed49@gmail.com", "age": 26 } user_3 = { "username": "Noor", "mail": "noor22@gmail.com", "age": 21 } users = { "user_1": user_1, "user_2": user_2, "user_3": user_3 }
الإبلاغ عن خطأ
×إذا وجد خطأ وتريد الإبلاغ عن هذا الخطأ، أو إذا كنت تريد تقديم اقتراح على شىء معين، فلا تتردد في إرسال بريد إلكتروني إلينا:
info@albashmoparmeg.com
شكرًا لك على مساعدتك لنا!