القاموس في بيثون بايثون Python Dictionary

القاموس في بيثون بايثون

 Python Dictionary


القاموس في بيثون بايثون Python Dictionary

يتم فصل كل مفتاح عن قيمته بنقطتين (:) ، يتم فصل العناصر بفواصل ، ويتم إرفاق كل شيء بأقواس مجعد.  يتم كتابة قاموس فارغ بدون أي عناصر مع اثنين فقط من الأقواس المتعرجة ، مثل هذا: {}.

 المفاتيح فريدة داخل القاموس بينما قد لا تكون القيم.  يمكن أن تكون قيم القاموس من أي نوع ، ولكن يجب أن تكون المفاتيح من نوع بيانات غير قابل للتغيير مثل السلاسل أو الأرقام أو المجموعات.

Accessing Values in Dictionary الوصول إلى القيم في القاموس

للوصول إلى عناصر القاموس ، يمكنك استخدام الأقواس المربعة المألوفة مع المفتاح للحصول على قيمتها.  فيما يلي مثال بسيط -

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print "dict['Name']: ", dict['Name']
print "dict['Age']: ", dict['Age']
عند تنفيذ الكود أعلاه ، فإنه ينتج النتيجة التالية -
dict['Name']:  Zara
dict['Age']:  7
−إذا حاولنا الوصول إلى عنصر بيانات باستخدام مفتاح ، وهو ليس جزءًا من القاموس ، فسوف نحصل على خطأ كما يلي

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print "dict['Alice']: ", dict['Alice']
عند تنفيذ الكود أعلاه ، فإنه ينتج النتيجة التالية -
dict['Alice']:
Traceback (most recent call last):
   File "test.py", line 4, in 
      print "dict['Alice']: ", dict['Alice'];
KeyError: 'Alice'

Updating Dictionary تحديث القاموس

يمكنك تحديث قاموس عن طريق إضافة إدخال جديد أو زوج قيمة المفتاح ، أو تعديل إدخال موجود ، أو حذف إدخال موجود كما هو موضح أدناه في المثال البسيط -

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
dict['Age'] = 8; # update existing entry
dict['School'] = "DPS School"; # Add new entry

print "dict['Age']: ", dict['Age']
print "dict['School']: ", dict['School']
عند تنفيذ الكود أعلاه ، فإنه ينتج النتيجة التالية -
dict['Age']:  8
dict['School']:  DPS School

Delete Dictionary Elements حذف عناصر القاموس

يمكنك إما إزالة عناصر القاموس الفردية أو مسح محتويات القاموس بأكملها.  يمكنك أيضًا حذف القاموس بأكمله في عملية واحدة.

 لإزالة القاموس بأكمله بشكل صريح ، ما عليك سوى استخدام عبارة del.  فيما يلي مثال بسيط -

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
del dict['Name']; # remove entry with key 'Name'
dict.clear();     # remove all entries in dict
del dict ;        # delete entire dictionary

print "dict['Age']: ", dict['Age']
print "dict['School']: ", dict['School']
هذا ينتج النتيجة التالية.  لاحظ أنه يتم رفع استثناء لأنه بعد وجود قاموس del dict -
dict['Age']:
Traceback (most recent call last):
   File "test.py", line 8, in 
      print "dict['Age']: ", dict['Age'];
TypeError: 'type' object is unsubscriptable
ملاحظة - تمت مناقشة طريقة del () في القسم التالي.

Properties of Dictionary Keys خصائص مفاتيح القاموس

قيم القاموس ليس لها قيود.  يمكن أن تكون أي كائن Python تعسفي ، إما كائنات قياسية أو كائنات معرفة من قبل المستخدم.  ومع ذلك ، فإن الشيء نفسه لا ينطبق على المفاتيح.

 هناك نقطتان مهمتان يجب تذكرهما بشأن مفاتيح القاموس -

 (أ) أكثر من إدخال واحد لكل مفتاح غير مسموح به.  مما يعني أنه لا يُسمح بمفتاح مكرر.  عند تكرار المفاتيح التي صودفت أثناء المهمة ، تفوز المهمة الأخيرة.  على سبيل المثال -

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'}
print "dict['Name']: ", dict['Name']
عند تنفيذ الكود  أعلاه ، فإنه ينتج النتيجة التالية -
dict['Name']:  Manni
(b)يجب أن تكون المفاتيح غير قابلة للتغيير.  مما يعني أنه يمكنك استخدام السلاسل أو الأرقام أو tuples كمفاتيح قاموس ولكن لا يُسمح بشيء مثل ['key'].  فيما يلي مثال بسيط -

#!/usr/bin/python

dict = {['Name']: 'Zara', 'Age': 7}
print "dict['Name']: ", dict['Name']
عند تنفيذ الكود أعلاه ، فإنه ينتج النتيجة التالية -
Traceback (most recent call last):
   File "test.py", line 3, in 
      dict = {['Name']: 'Zara', 'Age': 7};
TypeError: unhashable type: 'list'

المدمج في وظائف القاموس والدوال

 يتضمن Python وظائف القاموس التالية -

الرقمالدالة والوصف
1cmp(dict1, dict2)
يقارن عناصر من كلا dict.
2len(dict)
.يعطي الطول الكلي للقاموس.  هذا سيكون مساويا لعدد العناصر في القاموس
3str(dict)
ينتج تمثيل سلسلة قابلة للطباعة من القاموس
4type(variable)
إرجاع نوع المتغير الذي تم تمريره.  إذا كان المتغير الذي تم تمريره هو القاموس ، فسيتم إرجاع نوع القاموس.
يتضمن Python دوال القاموس التالية -
الرقمالدالة والوصف
1dict.clear()
يزيل جميع عناصر قاموس dict
2dict.copy()
إرجاع نسخة ضحلة من قاموس القاموس
3dict.fromkeys()
إنشاء قاموس جديد مع مفاتيح من seq والقيم المحددة على القيمة.
4dict.get(key, default=None)
بالنسبة للمفتاح ، تُرجع القيمة أو القيمة الافتراضية إذا كان المفتاح غير موجود في القاموس
5dict.has_key(key)
إرجاع صحيح إذا تم إملاء المفتاح في القاموس ، خطأ على خلاف ذلك
6dict.items()
تُرجع قائمة أزواج tuple (المفتاح ، القيمة)
7dict.keys()
إرجاع قائمة مفاتيح قاموس dict
8dict.setdefault(key, default=None)
يشبه get () ، ولكنه سيحدد dict [key] = افتراضي إذا كان المفتاح غير موجود بالفعل
9dict.update(dict2)
يضيف أزواج القيم الأساسية في القاموس dict2 إلى الإملاء
10dict.values()
إرجاع قائمة قيم قاموس dict