الكورس

Advertisements

القواميس فى بايثون | 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}

Advertisements


 

حذف عنصر | 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

شكرًا لك على مساعدتك لنا!

Advertisements