القائمة الرئيسية

الصفحات

Python 3 - Dictionary

ملاحظة: ليس كل شيء تم ترجمته الى اللغة العربية ويجب البحث في محرك البحث جوجل عن الاشياء الموجودة في كل جدول ادناه

 Each key is separated from its value by a colon (:), the items are separated by commas, and the whole thing is enclosed in curly braces. An empty dictionary without any items is written with just two curly braces, like this: {}.

Keys are unique within a dictionary while values may not be. The values of a dictionary can be of any type, but the keys must be of an immutable data type such as strings, numbers, or tuples.

Accessing Values in Dictionary

To access dictionary elements, you can use the familiar square brackets along with the key to obtain its value. Following is a simple example −

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


#!/usr/bin/python3

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print ("dict['Name']: ", dict['Name'])
print ("dict['Age']: ", dict['Age'])

When the above code is executed, it produces the following result −

dict['Name']:  Zara
dict['Age']:  7

If we attempt to access a data item with a key, which is not a part of the dictionary, we get an error as follows −

#!/usr/bin/python3

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
print ("dict['Alice']: ", dict['Alice'])

When the above code is executed, it produces the following result −

dict['Zara']:
Traceback (most recent call last):
   File "test.py", line 4, in <module>
      print "dict['Alice']: ", dict['Alice'];
KeyError: 'Alice'

Updating Dictionary

You can update a dictionary by adding a new entry or a key-value pair, modifying an existing entry, or deleting an existing entry as shown in a simple example given below.

#!/usr/bin/python3

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'])

When the above code is executed, it produces the following result −

dict['Age']:  8
dict['School']:  DPS School

Delete Dictionary Elements

You can either remove individual dictionary elements or clear the entire contents of a dictionary. You can also delete entire dictionary in a single operation.

To explicitly remove an entire dictionary, just use the del statement. Following is a simple example −

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

#!/usr/bin/python3

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'])

This produces the following result.

An exception is raised because after del dict, the dictionary does not exist anymore.

dict['Age']:
Traceback (most recent call last):
   File "test.py", line 8, in <module>
      print "dict['Age']: ", dict['Age'];
TypeError: 'type' object is unsubscriptable

Note − The del() method is discussed in subsequent section.

Properties of Dictionary Keys

Dictionary values have no restrictions. They can be any arbitrary Python object, either standard objects or user-defined objects. However, same is not true for the keys.

There are two important points to remember about dictionary keys −

(a) More than one entry per key is not allowed. This means no duplicate key is allowed. When duplicate keys are encountered during assignment, the last assignment wins. For example −

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


#!/usr/bin/python3

dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'}
print ("dict['Name']: ", dict['Name'])

When the above code is executed, it produces the following result −

dict['Name']:  Manni

(b) Keys must be immutable. This means you can use strings, numbers or tuples as dictionary keys but something like ['key'] is not allowed. Following is a simple example −

#!/usr/bin/python3

dict = {['Name']: 'Zara', 'Age': 7}
print ("dict['Name']: ", dict['Name'])

When the above code is executed, it produces the following result −

Traceback (most recent call last):
   File "test.py", line 3, in <module>
      dict = {['Name']: 'Zara', 'Age': 7}
TypeError: list objects are unhashable

Built-in Dictionary Functions and Methods

Python includes the following dictionary functions −

Sr.No.Function & Description
1cmp(dict1, dict2)

No longer available in Python 3.

2len(dict)

Gives the total length of the dictionary. This would be equal to the number of items in the dictionary.

3str(dict)

Produces a printable string representation of a dictionary

4type(variable)

Returns the type of the passed variable. If passed variable is dictionary, then it would return a dictionary type.

Python includes the following dictionary methods −

Sr.No.Method & Description
1dict.clear()

Removes all elements of dictionary dict

2dict.copy()

Returns a shallow copy of dictionary dict

3dict.fromkeys()

Create a new dictionary with keys from seq and values set to value.

4dict.get(key, default=None)

For key key, returns value or default if key not in dictionary

5dict.has_key(key)

Removed, use the in operation instead.

6dict.items()

Returns a list of dict's (key, value) tuple pairs

7dict.keys()

Returns list of dictionary dict's keys

8dict.setdefault(key, default = None)

Similar to get(), but will set dict[key] = default if key is not already in dict

9dict.update(dict2)

Adds dictionary dict2's key-values pairs to dict

10dict.values()

Returns list of dictionary dict's values

هل اعجبك الموضوع :

تعليقات