كل مفتاح مفصول عن القيمة الخاصة به بالعلامة (:) والبنود تكون مفصولة بالفواصل وكافة الأشياء تكون محصورة بين أقواس مجعدة. القاموس الفارغ الذي لا يحوي أية بنود أو مكونات يكتب على شكل قوسين مجعدين {} .
تكون المفاتيح فريدة في حالة القاموس لكن القيم ليست كذلك كما أن القيم في القاموس بمكن أن تكون من ي نموذج لكن المفاتيح يجب ان تكون من البيانات غير القابلة للتغيير مثل السلاسل والأرقام والصفوف.
للوصول إلى عناصر القاموس يمكن استخدام الأقواس المربعة جنباً إلى جنب مع مفتاح للحصول على قيمتها كما في المثال التالي:
فتظهر النتيجة التالية
عند محاولة إسناد البيانات مع مفتاح ليس جزءاً من القاموس عندها يحصل الخطأ التالي:
فتظهر النتيجة التالية
يمكن تحديث القاموس بإضافة إدخال جديد او زوج قيمة – مفتاح او تعديل إدخال موجود أو حذف إدخال موجود كما هو مبين في المثال التالي:
يمكن إزالة العناصر الفردية من القاموس أو مسح محتوياته بشكل كامل كما يمكن إزالة القاموس بأكمله بعملية مفردة.
يمكن استخدام التعليمة
فتظهر النتيجة التالية
قيم القاموس ليس لها قيود. ويمكن أن تكون أي غرض سواء الأغراض القياسية المعيارية أو الأغراض المعرفة من قبل المستخدم.
هناك نقطتان هامتان حول المفاتيح في القاموس:
النقطة الاولى: من غير المسموح إجراء أكثر من إدخال في المفتاح نفسه وإذا تم إجراء اكثر من إدخال يتم اخذ الإدخال الأخير واعتماده.
مثال
فتظهر النتيجة التالية
النقطة الثانية: يجب ان تكون المفاتيح غير قابلة للتعديل أي يجب ان تكون سلاسل أو أرقام أو صفوف ولكن شيئ مثل ['key'] غير مسموح. كم في المثال التالي:
فتظهر النتيجة التالية
تكون المفاتيح فريدة في حالة القاموس لكن القيم ليست كذلك كما أن القيم في القاموس بمكن أن تكون من ي نموذج لكن المفاتيح يجب ان تكون من البيانات غير القابلة للتغيير مثل السلاسل والأرقام والصفوف.
إسناد القيم في القاموس
للوصول إلى عناصر القاموس يمكن استخدام الأقواس المربعة جنباً إلى جنب مع مفتاح للحصول على قيمتها كما في المثال التالي:
#!/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['Zara']:
Traceback (most recent call last):
File "test.py", line 4, in <module>
print "dict['Alice']: ", dict['Alice'];
KeyError: 'Alice'
تحديث القاموس
يمكن تحديث القاموس بإضافة إدخال جديد او زوج قيمة – مفتاح او تعديل إدخال موجود أو حذف إدخال موجود كما هو مبين في المثال التالي:
#!/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
حذف عناصر القاموس
يمكن إزالة العناصر الفردية من القاموس أو مسح محتوياته بشكل كامل كما يمكن إزالة القاموس بأكمله بعملية مفردة.
يمكن استخدام التعليمة
del
لإزالة القاموس بأكمله كما في المثال التالي:#!/usr/bin/python
dict={'Name':'Zara','Age':7,'Class':'First'};
deldict['Name'];# remove entry with key 'Name'
dict.clear();# remove all entries in dict
deldict;# delete entire dictionary
print"dict['Age']: ",dict['Age'];
print"dict['School']: ",dict['School'];
فتظهر النتيجة التالية
dict['Age']:
Traceback (most recent call last):
File "test.py", line 8, in <module>
print "dict['Age']: ", dict['Age'];
TypeError: 'type' object is unsubscriptable
مميزات مفاتيح القاموس
قيم القاموس ليس لها قيود. ويمكن أن تكون أي غرض سواء الأغراض القياسية المعيارية أو الأغراض المعرفة من قبل المستخدم.
هناك نقطتان هامتان حول المفاتيح في القاموس:
النقطة الاولى: من غير المسموح إجراء أكثر من إدخال في المفتاح نفسه وإذا تم إجراء اكثر من إدخال يتم اخذ الإدخال الأخير واعتماده.
مثال
#!/usr/bin/python
dict={'Name':'Zara','Age':7,'Name':'Manni'};
print"dict['Name']: ",dict['Name'];
فتظهر النتيجة التالية
dict['Name']: Manni
النقطة الثانية: يجب ان تكون المفاتيح غير قابلة للتعديل أي يجب ان تكون سلاسل أو أرقام أو صفوف ولكن شيئ مثل ['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 <module>
dict = {['Name']: 'Zara', 'Age': 7};
TypeError: list objects are unhashable
الطرق والتوابع المبنية
التوابع
الرقم التسلسلي | التابع والوصف |
---|---|
1 | cmp(dict1, dict2) يقارن بين عناصر قاموسين. |
2 | len(dict) يعطي الطول الكلي للقاموس. |
3 | str(dict) يعطي سلسلة قابلة للطباعة تمثل القاموس. |
4 | type(variable) تعطي نموذج المتغيرات المدخلة. |
الطرق
الرقم التسلسلي | الطريقة والوصف |
---|---|
1 | dict.clear() تزيل كافة عناصر القاموس |
2 | dict.copy() تعيد نسخة من القاموس |
3 | dict.fromkeys() تنشئ قاموساً جديداً مع مفاتيح من السلسلة وتسند القيم. |
4 | dict.get(key, default=None) تعيد القيمة أو الافتراضي إذا كان المفتاح غير موجود في القاموس |
5 | dict.has_key(key) تعيد القيمة صح إذا كان المفتاج ضمن القاموس والقيمة خطأ فيما عدا ذلك. |
6 | dict.items() تعيد قائمة من القواميس وأزواج (قيمة , مفتاح) |
7 | dict.keys()تعيد قائمة بمفاتيح القاموس |
8 | dict.setdefault(key, default=None)تعيد قائمة من مفاتيح القاموس شبيهة ب get() ولكنها تعطي dict[key]=default إذا كان المفتاح غير موجوداً في القاموس |
9 | dict.update(dict2) تضيف أزواج قيم – مفتاح إلى القاموس. |
10 | dict.values() تعيد قائمة من قيم القاموس |
ليست هناك تعليقات:
إرسال تعليق