Py-Slidesueh This is all about python oop language
Py-Slidesueh This is all about python oop language
Python - Dictionary
• A dictionary is mutable and is another container type that can
store any number of Python objects, including other container
types.
• Dictionaries consist of pairs (called items) of keys and their
corresponding values.
• 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'}
• You can create dictionary in the following way as well:
dict1 = { 'abc': 456 };
dict2 = { 'abc': 123, 98.6: 37 };
• 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: {}.
Accessing Values in
Dictionary:
• To access dictionary elements, you use the familiar square
brackets along with the key to obtain its value:
• Example:
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
print "dict['Name']: ", dict['Name'];
print "dict['Age']: ", dict['Age'];
• This will produce 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:
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
print "dict['Alice']: ", dict['Alice'];
• This will produce 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 item (i.e., a
key-value pair), modifying an existing entry, or deleting an
existing entry as shown below:
• Example:
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'];
• This will produce 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:
• Example:
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 following result. Note an exception raised, this is
because after del dict dictionary does not exist any more:
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: 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 not allowed. Which means no
duplicate key is allowed. When duplicate keys encountered during
assignment, the last assignment wins.
• Example:
dict = {'Name': 'Zara', 'Age': 7, 'Name’: ‘Soham’};
print "dict['Name']: ", dict['Name'];
• This will produce following result:
dict['Name’]: Soham
• (b) Keys must be immutable. Which means you can use
strings, numbers, or tuples as dictionary keys but
something like ['key'] is not allowed.
• Example:
dict = {['Name']: 'Zara', 'Age': 7};
print "dict['Name']: ", dict['Name'];
• This will produce following result. Note an exception raised:
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 &
Methods:
SN Function with Description
1 cmp(dict1, dict2)
Compares elements of both dict.
2 len(dict)
Gives the total length of the dictionary. This would be equal to the
number of items in the dictionary.
3 str(dict)
Produces a printable string representation of a dictionary
4 type(variable)
Returns the type of the passed variable. If passed variable is dictionary
then it would return a dictionary type.
SN Methods with Description
1 dict.clear()
Removes all elements of dictionary dict
2 dict.copy()
Returns a shallow copy of dictionary dict
2 dict.fromkeys()
Create a new dictionary with keys from seq and values set to value.
3 dict.get(key, default=None)
For key key, returns value or default if key not in dictionary
4 dict.has_key(key)
Returns true if key in dictionary dict, false otherwise
5 dict.items()
Returns a list of dict's (key, value) tuple pairs
6 dict.keys()
Returns list of dictionary dict's keys
7 dict.setdefault(key, default=None)
Similar to get(), but will set dict[key]=default if key is not already in dict
8 dict.update(dict2)
Adds dictionary dict2's key-values pairs to dict
9 dict.values()
Returns list of dictionary dict2's values
• seq = ('name', 'age', 'gender’)
• dict = dict.fromkeys(seq)
• print ("New Dictionary :“,dict)
1 Month 1 to 12
2 Day 1 to 31
3 Hour 0 to 23
4 Minute 0 to 59
1 tm_mon 1 to 12
2 tm_mday 1 to 31
3 tm_hour 0 to 23
4 tm_min 0 to 59
6 tm_wday 0 to 6 (0 is Monday)
Returns a multiline string with a calendar for year year formatted into
three columns separated by c spaces. w is the width in characters of
each date; each line has length 21*w+18+2*c. l is the number of lines
for each week.
2 calendar.firstweekday( )
Returns the current setting for the weekday that starts each week. By
default, when calendar is first imported, this is 0, meaning Monday.
3 calendar.isleap(year)