Python dictionaries are also known as associative arrays or hash tables. The general syntax of a dictionary is as follows:
dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
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.
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/python
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 part of the dictionary, we get an error as follows:
#!/usr/bin/python
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'
You can update a dictionary by adding a new entry or ,modifying an existing entry, or deleting an existing entry as shown below in the simple example:
#!/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'];
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:
#!/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']
This will produce the following result. Note an exception raised, this is because after del dict dictionary does not exist any more:
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:
More than one entry per key not allowed. Which means no duplicate key is allowed. When duplicate keys encountered during assignment, the last assignment wins. Following is a simple example:
#!/usr/bin/python
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
Keys must be immutable. Which 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/python
dict = {['Name']: 'Zara', 'Age': 7}
print "dict['Name']: ", dict['Name']
cmp(dict1, dict2) #Compares elements of both dict.
len(dict) #Gives the total length of the dictionary. This would be equal to the number of items in the dictionary.
str(dict) #Produces a printable string representation of a dictionary
Python includes following dictionary methods
dict.clear() #Removes all elements of dictionary *dict*
dict.copy() #Returns a shallow copy of dictionary *dict*
dict.fromkeys() #Create a new dictionary with keys from seq and values *set* to *value*.
dict.get(key, default=None)] #For *key* key, returns value or default if key not in dictionary
dict.has_key(key) Returns *true* if key in dictionary *dict*, *false* otherwise
dict.items() #Returns a list of *dict*'s (key, value) tuple pairs
dict.keys() #Returns list of dictionary dict's keys
dict.setdefault(key, default=None) #Similar to get(), but will set dict[key]=default if *key* is not already in dict
dict.update(dict2) #Adds dictionary *dict2*'s key-values pairs to *dict*
dict.values() #Returns list of dictionary *dict*'s values
2025 - 快车库 - 我的知识库 重庆启连科技有限公司 渝ICP备16002641号-10
企客连连 表单助手 企服开发 榜单123