مفهوم الكلاس dict في python
الكلاس dict في لغة Python يستخدم لتمثيل هيكل بيانات القاموس (Dictionary)، وهو عبارة عن مجموعة من الأزواج المفتاح-القيمة. في القاموس، يتم تمييز كل قيمة بمفتاح فريد لها.
يمكن إنشاء عنصر جديد في القاموس باستخدام المفتاح الجديد والقيمة المطابقة له. ولإضافة عدة عناصر دفعة واحدة، يمكن استخدام أسلوب التعبير عن القاموس {key1: value1, key2: value2, ...} .
ويمكن الوصول إلى القيم في القاموس باستخدام المفتاح المطابق لها، عن طريق استخدام العملية المربعية [] . على سبيل المثال، إذا كان لدينا قاموسًا يمثل درجات الطلاب:
grades = {'John': 90, 'Sarah': 85, 'Mike': 95}
يمكن الوصول إلى درجة جون بكتابة
grades['John']
، وسيتم إرجاع القيمة 90.
كما يحتوي الكلاس dict على العديد من الطرق والأساليب المفيدة للتعامل مع القواميس، مثل keys() و values() و items() التي تستخدم للحصول على جميع المفاتيح أو القيم أو الأزواج في القاموس.
اضافة عنصر الئ ال dict
يمكنك إضافة عنصر إلى القاموس في Python باستخدام الفهرسة المربعية. يتم تمرير المفتاح كمؤشر للقيمة التي تريد إضافتها:
my_dict = {"key1": "value1", "key2": "value2"}
# إضافة عنصر جديد إلى القاموس
my_dict["key3"] = "value3"
print(my_dict) # {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
يمكنك أيضًا استخدام الدالة update() لإضافة مفاتيح وقيم إلى القاموس:
my_dict = {"key1": "value1", "key2": "value2"}
# إضافة عنصرين جديدين إلى القاموس
my_dict.update({"key3": "value3", "key4": "value4"})
print(my_dict) # {'key1': 'value1', 'key2': 'value2', 'key3': 'value3', 'key4': 'value4'}
تبديل قيم عناصر ال dict
لتبديل قيم عناصر ال dict في Python، يمكن استخدام اسم المفتاح للوصول إلى القيمة التي تريد تغييرها واستخدام عامل الأسنان "" لتعيين القيمة الجديدة.
على سبيل المثال، إذا كان لديك dict يحتوي على مفاتيح وقيم كالتالي:
my_dict = {'a': 1, 'b': 2, 'c': 3}
يمكنك تغيير قيمة 'a' من 1 إلى 4 بالطريقة التالية:
my_dict['a'] = 4
والآن سيكون لديك dict بالشكل التالي:
{'a': 4, 'b': 2, 'c': 3}
يمكنك القيام بنفس الطريقة لتغيير باقي القيم في ال dict .
حذف عنصر ال dict
يمكن حذف عنصر من القاموس (dict) في Python باستخدام الأمر del . على سبيل المثال، إذا كان لديك قاموس يحتوي على مفاتيح وقيم كالتالي:
my_dict = {'a': 1, 'b': 2, 'c': 3}
وتريد حذف عنصر 'b'، يمكنك استخدام الأمر التالي:
del my_dict['b']
سيؤدي هذا الأمر إلى حذف المفتاح 'b' وقيمته من القاموس. بعد تنفيذ الأمر، ستصبح قيم القاموس كالتالي:
{'a': 1, 'c': 3}
حذف عنصر ال dict بواسطة del
يمكن حذف عنصر من الـ dict في Python باستخدام الأمر del . يجب تحديد المفتاح (الـ key) الذي نريد حذفه. على سبيل المثال، إذا كنت تريد حذف المفتاح 'x' من الـ dict يمكن استخدام الأمر التالي:
my_dict = {'x': 5, 'y': 10, 'z': 15}
del my_dict['x']
print(my_dict)
سوف يقوم الكود بطباعة
{'y': 10, 'z': 15}
، حيث تم حذف المفتاح 'x' وقيمته من الـ dict .
معرفة اذا كان dict يحتوي علئ مفتاح معين
يمكن التحقق مما إذا كان المفتاح موجودًا في القاموس باستخدام العبارة in في Python. وهذا يشير إلى أن القيمة المطلوبة موجودة كمفتاح في القاموس.
على سبيل المثال، إذا كان لديك قاموسًا يسمى my_dict وتريد التحقق مما إذا كان المفتاح "key" موجودًا فيه، يمكن استخدام العبارة التالية:
if "key" in my_dict:
print("Key exists in dictionary")
else:
print("Key does not exist in dictionary")
وبمجرد أن يتم تنفيذ هذا البرنامج، فإنه سيطبع "Key exists in dictionary" إذا كان المفتاح موجودًا في القاموس، وإلا سيطبع "Key does not exist in dictionary".
دوال الكلاس dict
فئة القاموس (dict) في Python هي تعبير عن هيكل بيانات يحتوي على مفاتيح وقيم متعلقة بها. وهناك العديد من الدوال المفيدة المتعلقة بهذه الفئة، منها:
- clear(): يحذف جميع عناصر القاموس.
- copy(): ينشئ نسخة من القاموس.
- get(): يعيد قيمة المفتاح المحدد. إذا لم يتم العثور على المفتاح المحدد، فسيتم إرجاع القيمة الافتراضية المحددة.
- items(): يعيد عناصر القاموس كقائمة من الأزواج (key, value).
- keys(): يعيد جميع المفاتيح في القاموس كقائمة.
- values(): يعيد جميع القيم في القاموس كقائمة.
- pop(): يحذف المفتاح المحدد ويعيد قيمته. إذا لم يتم العثور على المفتاح المحدد، فسيتم إرجاع القيمة الافتراضية المحددة.,
- popitem(): يحذف أحد عنصر من القاموس ويعيده كزوج (key, value).
- setdefault(): يعيد قيمة المفتاح المحدد. إذا لم يتم العثور على المفتاح المحدد، فسيتم إضافة المفتاح المحدد مع القيمة الافتراضية المحددة.
- update(): يضيف عناصر جديدة إلى القاموس أو يحدث القيم الحالية للمفاتيح الموجودة.
- fromkeys(): ينشئ قاموسًا جديدًا باستخدام المفاتيح المعطاة والقيمة المحددة.
وهناك الكثير من الدوال الأخرى التي يمكن استخدامها مع فئة القاموس (dict) في Python.
الدالة clear
دالة clear() في كلاس dict بلغة Python تستخدم لإزالة جميع العناصر من القاموس (dictionary). وتقوم هذه الدالة بتفريغ القاموس بحيث يتم حذف كافة العناصر الموجودة فيه.
لتفهم ذلك أكثر، يمكنك استخدام الدالة clear() في الشكل التالي:
my_dict = {1: 'one', 2: 'two', 3: 'three'}
my_dict.clear()
print(my_dict)
ستعيد هذه الأسطر قاموسًا فارغًا {} ، حيث تم حذف جميع العناصر في القاموس باستخدام الدالة clear() .
الدالة copy
دالة copy() في Python هي دالة تستخدم لإنشاء نسخة من القاموس (dictionary) المعطى. ستنشئ هذه الدالة نسخة جديدة من القاموس باستخدام نفس محتواه ولكنها لن تشارك أي عناصر مع القاموس الأصلي.
إليك مثال يوضح استخدام الدالة copy() :
original_dict = {"a": 1, "b": 2, "c": 3}
new_dict = original_dict.copy()
# تغيير قيمة في القاموس الجديد
new_dict["d"] = 4
print(original_dict) # {"a": 1, "b": 2, "c": 3}
print(new_dict) # {"a": 1, "b": 2, "c": 3, "d": 4}
كما يمكن استخدام العملية التمثيلية dict() لإنشاء نسخة جديدة من القاموس بدلاً من استخدام copy() كالتالي:
original_dict = {"a": 1, "b": 2, "c": 3}
new_dict = dict(original_dict)
# تغيير قيمة في القاموس الجديد
new_dict["d"] = 4
print(original_dict) # {"a": 1, "b": 2, "c": 3}
print(new_dict) # {"a": 1, "b": 2, "c": 3, "d": 4}
الفرق بين الطريقتين هو أن copy() تنشئ نسخة مستمرة من القاموس، في حين أن dict() تنشئ نسخة جديدة منه إذا كانت القيمة ليست قاموسًا، وإلا فإنها ستشارك القيم داخل القواميس.
الدالة get
تستخدم الدالة get في كلاس dict في لغة Python للحصول على قيمة مفتاح محدد داخل القاموس، وإذا لم يتم العثور على المفتاح، فإنها تعيد قيمة افتراضية.
تأخذ الدالة get() مفتاحًا كمدخل، وتُرجع القيمة المرتبطة بهذا المفتاح إذا كان موجودًا في القاموس. وإذا لم يتم العثور على المفتاح، فإن الدالة تعيد None أو القيمة المُحددة كوسيط ثانوي.
يمكن استخدام الدالة get() على النحو التالي:
my_dict = {"apple": 2, "banana": 4, "orange": 6}
# استخدام الدالة get() للحصول على القيمة المرتبطة بالمفتاح "apple"
value = my_dict.get("apple")
print(value) # سيطبع: 2
# استخدام الدالة get() للحصول على القيمة المرتبطة بالمفتاح "grape"، والتي لا توجد في القاموس
value = my_dict.get("grape")
print(value) # سيطبع: None
# يمكن تمرير قيمة افتراضية للدالة get()، والتي ستعوض قيمة None عند عدم وجود المفتاح
value = my_dict.get("grape", 0)
print(value) # سيطبع: 0
الدالة items
تستخدم الدالة items() في لغة Python مع كلاس dict لإرجاع عناصر القاموس كأزواج من القيم والمفاتيح (key-value pairs). تعمل هذه الدالة على إرجاع view object وهو عبارة عن نسخة ديناميكية من القاموس تتغير تلقائيًا مع تغيير القاموس الأصلي. يمكن استخدام هذا الكود للحصول على نسخة من عناصر القاموس:
my_dict = {"name": "John", "age": 30, "city": "New York"}
items = my_dict.items()
print(items)
سيتم طباعة النتيجة التالية:
dict_items([('name', 'John'), ('age', 30), ('city', 'New York')])
يمكن الوصول إلى العناصر المخزنة في view object باستخدام حلقة for . في كل دورة، يتم إرجاع زوج من القيمة والمفتاح ك tuple.
for key, value in items:
print(key, value)
سيتم طباعة النتيجة التالية:
name John
age 30
city New York
الدالة keys
دالة "keys" في لغة Python تستخدم لاسترداد عناصر المفتاح في القاموس (dictionary). وهي تعيد عرضًا لكل مفتاح في القاموس على شكل قائمة.
فيما يلي مثال بسيط يستخدم دالة "keys" لاسترداد عناصر المفتاح في القاموس:
my_dict = {'apple': 2, 'banana': 1, 'orange': 3}
keys_list = my_dict.keys()print(keys_list)
ستعيد الدالة output التالي:
dict_keys(['apple', 'banana', 'orange'])
يمكن استخدام قائمة المفاتيح المسترجعة من دالة "keys" للاستخدام في العديد من العمليات، مثل استخدامها كإدخال لدالة حلقية (loop) للقيام بمقارنات أو إجراءات أخرى.
الدالة values
دالة values() في Python تستخدم لإرجاع جميع القيم الموجودة في قاموس (dictionary).
في الشكل العام، يمكن استخدام الدالة values() على النحو التالي:
my_dict = {key1:value1, key2:value2, key3:value3}
values_list = my_dict.values()
هنا، يتم إنشاء variable باسم my_dict وهو dictionary يحتوي على ثلاثة مفاتيح وقيم متعلقة بهم. ثم، يتم استخدام الدالة values() لاسترداد كل القيم في القاموس وتخزينها في values_list .
ملاحظة: يتم إرجاع القيم بالترتيب الذي تم إدخاله في القاموس.
الدالة pop
الدالة pop() في لغة Python تستخدم لإزالة عنصر من القاموس (dictionary) وإرجاع قيمته. يمكن استخدام الدالة بالشكل التالي:
my_dict = {"key1": "value1", "key2": "value2"}
# إزالة العنصر الذي يحمل المفتاح "key1"
popped_value = my_dict.pop("key1")
print(popped_value)
# Output: "value1"
print(my_dict)
# Output: {"key2": "value2"}
إذا كان المفتاح غير موجود في القاموس، فسيتم رمي استثناء KeyError. يمكن توفير القيمة الافتراضية لإرجاعها إذا لم يتم العثور على المفتاح باستخدام البارامتر الاختياري default . على سبيل المثال:
my_dict = {"key1": "value1", "key2": "value2"}
# محاولة إزالة العنصر الذي يحمل المفتاح "key3"
popped_value = my_dict.pop("key3", "Not Found")
print(popped_value)
# Output: "Not Found"
print(my_dict)
# Output: {"key1": "value1", "key2": "value2"}
الدالة popitem
دالة popitem() في لغة Python تقوم بإزالة وإرجاع آخر عنصر (key-value) تم إدخاله في القاموس (dict). يتم استخدام هذه الدالة عادة عندما تكون القيم المخزنة في القاموس غير مهمة ولا يهم الترتيب.
في الرمز التالي، سننشئ قاموسًا ونستخدم دالة popitem() لإزالة وإرجاع آخر عنصر تم إدخاله:
my_dict = {'a': 1, 'b': 2, 'c': 3}
print(my_dict) # {'a': 1, 'b': 2, 'c': 3}
last_item = my_dict.popitem()
print(last_item) # ('c', 3)
print(my_dict) # {'a': 1, 'b': 2}
هنا، تم إنشاء قاموس يحتوي على ثلاثة عناصر، ثم تم استخدام popitem() لإزالة وإرجاع آخر عنصر، الذي كان ('c', 3) ، ويتم حذف هذا العنصر من القاموس. ثم تم طباعة العنصر الذي تم إرجاعه، والذي يمكن حفظه في متغير، وأخيرًا تم طباعة القاموس المحدث.
الدالة setdefault
تستخدم دالة setdefault في لغة Python لإضافة عنصر جديد إلى قاموس (dictionary) بشكل آمن، وذلك في حالة أن العنصر غير موجود داخل القاموس. تأخذ الدالة مفتاحًا وقيمة افتراضية كمعاملات، وإذا كان المفتاح موجودًا بالفعل في القاموس، فإنه يتم إرجاع قيمته، وإلا فإن القيمة الافتراضية ستتم إضافتها كقيمة جديدة للمفتاح.
وهنا مثال بسيط يوضح استخدام الدالة:
my_dict = {'a': 1, 'b': 2}
# إذا كان المفتاح 'c' غير موجود، فإن قيمته ستكون 3
# وإذا كان 'c' موجودًا بالفعل، فإن قيمته لن يتغير
value = my_dict.setdefault('c', 3)
print(my_dict) # {'a': 1, 'b': 2, 'c': 3}
print(value) # 3
في هذا المثال، تم إضافة المفتاح 'c' إلى القاموس مع قيمة افتراضية 3، حيث أن المفتاح لم يكن موجودًا بالفعل. وبعد ذلك، تم استدعاء دالة setdefault مرة أخرى مع نفس المفتاح 'c' ، وتم إرجاع قيمته التي هي 3، لأن المفتاح 'c' موجود بالفعل في القاموس.
الدالة update
دالة update() في لغة Python تستخدم لتحديث قيم عنصر معين في القاموس (dictionary) أو إضافة عناصر جديدة إليه.
يمكن استخدام الدالة بالطريقة التالية:
my_dict = {"key1": "value1", "key2": "value2"}
my_dict.update({"key1": "new_value1", "key3": "value3"})
print(my_dict)
في هذا المثال، يتم تحديث قيمة المفتاح "key1" من "value1" إلى "new_value1" وإضافة مفتاح جديد "key3" بقيمته "value3" .
وبعد تشغيل البرنامج سيتم طباعة القائمة التالية:
{"key1": "new_value1", "key2": "value2", "key3": "value3"}
يمكن استخدام الدالة update() لإضافة عناصر جديدة إلى القاموس كما هو موضح في المثال السابق، أو لتحديث عناصر موجودة في القاموس.
الدالة fromkeys
دالة fromkeys() في لغة Python هي دالة تستخدم لإنشاء قاموس جديد (dictionary) باستخدام المفاتيح المعطاة وتعيينها جميعًا إلى القيمة المحددة.
يمكن استخدام الدالة fromkeys() كما يلي:
dict.fromkeys(keys, value)
حيث:
- keys : قائمة المفاتيح للقاموس.
- value (اختياري): القيمة التي سيتم تعيينها لجميع المفاتيح. إذا تم تجاهل هذه القيمة، فسيتم تعيين القيمة None بشكل افتراضي.
وهنا مثال عن استخدام الدالة fromkeys() :
keys = ['name', 'age', 'gender']
values = 'unknown'
my_dict = dict.fromkeys(keys, values)
print(my_dict)
# Output: {'name': 'unknown', 'age': 'unknown', 'gender': 'unknown'}
في هذا المثال، تم إنشاء قاموس جديد باستخدام المفاتيح ['name', 'age', 'gender'] وتعيين القيمة 'unknown' لجميع المفاتيح.