08 DICTIONARIES-2
08 DICTIONARIES-2
08 DICTIONARIES-2
KEY-VALUE PAIR
What is Dictionary
It is another collection in Python but with different in
way of storing and accessing. Other collection like
list, tuple, string are having an index associated
with every element but Python Dictionary have a
“key” associated with every element. That‟s why
python dictionaries are known as KEY:VALUE pairs.
Like with English dictionary we search any word for
meaning associated with it, similarly in Python we
search for “key” to get its associated value rather
than searching for an index.
Creating a Dictionary
Syntax to create dictionary:
dictionary_name = {key1:value,key2:value,….}
Example
>>> emp = {"empno":1,"name":"Shahrukh","fee":1500000}
Here Keys are : “empno”, “name” and “fee”
Values are: 1, “Shahrukh”, 1500000
Note:
1) Dictionary elements must be between curly brackets
2) Each value must be paired with key element
3) Each key-value pair must be separated by comma(,)
Creating a dictionary
Dict1 = {} # empty dictionary
DaysInMonth={"Jan":31,"Feb":28,"Mar":31,"Apr":31
"May":31,"Jun":30,"Jul":31,"Aug":31
"Sep":30,"Oct":31,"Nov":30,"Dec":31}
Note: Keys of dictionary must of immutable type such as:
- A python string
- A number
mydict={'empno':1,'name':'Shivam','dept':'sales','salary':25000}
for key in mydict:
print(key,'=',mydict[key])
Accessing keys and values simultaneously
>>> mydict={'empno':1,'name':'Shivam','dept':'sales','salary':25000}
>>>mydict.keys()
dict_keys(['empno', 'name', 'dept', 'salary'])
>>>mydict.values()
dict_values([1, 'Shivam', 'sales', 25000])
We can convert the sequence returned by keys() and values() by using list()
as shown below:
>>> list(mydict.keys())
['empno', 'name', 'dept', 'salary']
>>> list(mydict.values())
[1, 'Shivam', 'sales', 25000]
Characteristics of a Dictionary
Unordered set
🞑A dictionary is a unordered set of key:value pair
Not a sequence
🞑Unlikea string, tuple, and list, a dictionary is not a sequence
because it is unordered set of elements. The sequences are
indexed by a range of ordinal numbers. Hence they are
ordered but a dictionary is an unordered collection
Indexed by Keys, Not Numbers
🞑 Dictionaries are indexed by keys. Keys are immutable
type
Characteristics of a Dictionary
Keys must be unique
🞑Each key within dictionary
must be unique. However two unique
keys can have same values.
🞑>>> data={1:100, 2:200,3:300,4:200}
Mutable
🞑Like lists,
dictionary are also mutable. We can change the value
of a certain “key” in place
🞑Data[3]=400
🞑>>>Data
🞑So, to change value of dictionary the format is :
DictionaryName[“key” / key ]=new_value
🞑You can notonly change but you can add new key:value pair :
• DictionaryName[“new key”] = value
Internally stored as Mappings
Internally, the key:value pair are associated with
one another with some internal function(called hash
function). This way of linking is called mapping
KEY HASH FUNCTION STORED VALUES
KEY 1 VALUE 3
KEY2 VALUE1
KEY 3 VALUE4
KEY 4 VALUE 2
Working with Dictionaries
Multiple ways of creating dictionaries
1. Initializing a Dictionary : in this method all the key:value
pairs of dictionary are written collectively separated by
commas and enclosed in curly braces
Student={“rollF:1,FnameF:FScottF,FPerF:90}
Given value is
assigned to each key
List is assigned to
each key, as the list
updated dictionary
key values are
automatically
updated
Dictionary functions and methods
copy() : as the name suggest, it will create a copy of dictionary.