الكورس

Advertisements

القواميس فى بايثون | Python Dictionaries


سنناقش فى هذا الفصل القواميس فى بايثون | Python Dictionaries، ستتعرف على الـ dictionaries بشكل عام وكيفية استخدامها والتعامل معها، مع بعض الأمثلة التوضيحية.


 

القواميس فى بايثون | Python Dictionaries

 

الـ dictionary في Python عبارة عن مجموعة غير مرتبة من قيم البيانات ، تُستخدم لتخزين قيم البيانات، والتي بخلاف أنواع البيانات الأخرى التي تحتوي على قيمة واحدة فقط كعنصر.

في Python ، يتم كتابة الـ dictionary داخل أقواس متعرجة { }، وله مفتاح وقيمة { key: value }.

مثال على إنشاء dictionary فى بايثون:

userInfo = {
  "user_id": 300,
  "username": "Mohamed",
  "email": "[email protected]"
}

print(userInfo) # output = {'user_id': 300, 'username': 'Mohamed', 'email': '[email protected]'}

 

()dict

 

من الممكن أيضًا استخدام ()dict لإنشاء dictionary جديد، كالتالى:

myDictionary = dict(username="Ahmed", mail="[email protected]", age=23)
print(myDictionary) # output = {'username': 'Ahmed', 'mail': '[email protected]', 'age': 23}

 

الوصول للقيم | Access Values

 

يمكنك الوصول إلى عناصر الـ dictionary عن طريق:

  • الرجوع إلى اسم المفتاح key داخل الأقواس المربعة.
  • أو عن طريق method الـ ()get (ستعطيك نفس النتيجة).

 

أمثلة للتوضيح:

userInfo = {
  "user_id": 300,
  "username": "Mohamed",
  "email": "[email protected]"
}

# ----- 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": "[email protected]"
}

userInfo["age"] = 20
print(userInfo) # output = {'user_id': 300, 'username': 'Mohamed', 'email': '[email protected]', 'age': 20}

 

تغيير قيمة عنصر | Change Item Value

 

يمكنك تغيير قيمة عنصر معين بالرجوع إلى اسم المفتاح key الخاص به، كالتالى:

userInfo = {
  "user_id": 300,
  "username": "Mohamed",
  "email": "[email protected]"
}

userInfo['user_id'] = 400
print(userInfo) # output = {'user_id': 400, 'username': 'Mohamed', 'email': '[email protected]', 'age': 20}

Advertisements


 

حذف عنصر | Remove Item

 

هناك عدة طرق لإزالة عنصر من الـ dictionary:

  • ()pop: يزيل العنصر باسم المفتاح المحدد.
  • ()popitem: يزيل آخر عنصر تم وضعه.

 

أمثلة للتوضيح:

userInfo = {
  "user_id": 300,
  "username": "Mohamed",
  "email": "[email protected]"
}


# -- First method --
userInfo.pop("user_id")
print(userInfo) # output = {'username': 'Mohamed', 'email': '[email protected]'}

# -- Second method --
userInfo.popitem()
print(userInfo) # output = {'user_id': 300, 'username': 'Mohamed'}

 

لتفريغ الـ dictionary يمكنك إستخدام method الـ ()clear، كالتالى:

userInfo = {
  "user_id": 300,
  "username": "Mohamed",
  "email": "[email protected]"
}

userInfo.clear()
print(userInfo) # output = {}

 

لإزالة الـ dictionary تمامًا، يمكنك إستخدام كلمة del، كالتالى:

userInfo = {
  "user_id": 300,
  "username": "Mohamed",
  "email": "[email protected]"
}

del userInfo
print(userInfo) # output = Error, because dictionary deleted completely.

 

معرفة عدد العناصر | Length of Dictionary

 

لتحديد عدد العناصر الموجودة في الـ dictionary، استخدم method الـ ()len، كالتالى:

userInfo = {
  "user_id": 300,
  "username": "Mohamed",
  "email": "[email protected]"
}

z = len(userInfo)
print(z) # output = 3

 

تحقق مما إذا كان العنصر موجودًا | Check if Item Exist

 

لتحديد ما إذا كان عنصر ما موجودًا في dictionary، استخدم الـ for-loop مع كلمة in، كالتالى:

userInfo = {
  "user_id": 300,
  "username": "Mohamed",
  "email": "[email protected]"
}

if "username" in userInfo:
   print("Done, Username exist!")

 

عمل تكرار على القاموس | Dictionary List

 

يمكنك تكرار الـ dictionary باستخدام  for loop.

عند التكرار في dictionary، تكون القيمة المرجعة هي مفاتيح الـ dictionary.

ولكن هناك طرق أخرى لإرجاع القيم أيضًا، سنتعرف عليها عن طريق هذه الأمثلة:

userInfo = {
  "user_id": 300,
  "username": "Mohamed",
  "email": "[email protected]"
}

# -- 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": "[email protected]",
    "age": 23
  },
  "user_2" : {
    "username": "Mohamed",
    "mail": "[email protected]",
    "age": 26
  },
  "user_3" : {
    "username": "Noor",
    "mail": "[email protected]",
    "age": 21
  },
  "user_4" : {
    "username": "Aymen",
    "mail": "[email protected]",
    "age": 43
  }
}

# --- Second method ---
user_1 = {
  "username": "Ahmed",
  "mail": "[email protected]",
  "age": 23
}

user_2 = {
  "username": "Mohamed",
  "mail": "[email protected]",
  "age": 26
}

user_3 = {
  "username": "Noor",
  "mail": "[email protected]",
  "age": 21
}

users = {
  "user_1": user_1,
  "user_2": user_2,
  "user_3": user_3
}


الإبلاغ عن خطأ

×

إذا وجد خطأ وتريد الإبلاغ عن هذا الخطأ، أو إذا كنت تريد تقديم اقتراح على شىء معين، فلا تتردد في إرسال بريد إلكتروني إلينا:

[email protected]

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

Advertisements