0% found this document useful (0 votes)
13 views12 pages

Python Dictionaries

A Python dictionary is a mutable, unordered collection of key-value pairs, where each key is unique and maps to a value. Key features include the ability to modify items, access values using keys, and the requirement that keys must be immutable. Various methods are available for creating, accessing, modifying, and removing items from dictionaries.

Uploaded by

anikdas022009
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views12 pages

Python Dictionaries

A Python dictionary is a mutable, unordered collection of key-value pairs, where each key is unique and maps to a value. Key features include the ability to modify items, access values using keys, and the requirement that keys must be immutable. Various methods are available for creating, accessing, modifying, and removing items from dictionaries.

Uploaded by

anikdas022009
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

DICTIONARIES

In Python, a dictionary is a built-in data type that stores data in key-value pairs. It is an unordered,
mutable, and indexed collection. Each key in a dictionary is unique and maps to a value.
Dictionaries are often used to store data that is related, such as information associated with a
specific entity or object, where you can quickly retrieve a value based on its key.

Python's dictionary is an example of a mapping type. A mapping object 'maps' the value of one
object to another. To establish mapping between a key and a value, the colon (:) symbol is put
between the two.

Each key-value pair is separated by a comma and enclosed within curly braces {}. The key and
value within each pair are separated by a colon (:), forming the structure key: value.

Given below are some examples of Python dictionary objects −

capitals = {"Maharashtra":"Mumbai", "Gujarat":"Gandhinagar", "Telangana":"Hyderabad",


"Karnataka":"Bengaluru"}

numbers = {10:"Ten", 20:"Twenty", 30:"Thirty",40:"Forty"}

marks = {"Savita":67, "Imtiaz":88, "Laxman":91, "David":49}

Key Features of Dictionaries

Following are the key features of dictionaries −


• Unordered − The elements in a dictionary do not have a specific order. Python dictionaries
before version 3.7 did not maintain insertion order. Starting from Python 3.7, dictionaries
maintain insertion order as a language feature.

• Mutable − You can change, add, or remove items after the dictionary has been created.

• Indexed − Although dictionaries do not have numeric indexes, they use keys as indexes to
access the associated values.

• Unique Keys − Each key in a dictionary must be unique. If you try to assign a value to an
existing key, the old value will be replaced by the new value.

• Heterogeneous − Keys and values in a dictionary can be of any data type.


Example 1

Only a number, string or tuple can be used as key. All of them are immutable. You can use an
object of any type as the value. Hence following definitions of dictionary are also valid −

d1 = {"Fruit":["Mango”, “Banana"], "Flower":["Rose", "Lotus"]}

d2 = {('India, USA'):'Countries', ('New Delhi', 'New York'):'Capitals'}

print (d1)

print (d2)

Output

{'Fruit': ['Mango', 'Banana'], 'Flower': ['Rose', 'Lotus']}

{'India, USA': 'Countries', ('New Delhi', 'New York'): 'Capitals'}

Example 2

Python doesn't accept mutable objects such as list as key, and raises TypeError.

d1 = {["Mango”, “Banana"]:"Fruit", "Flower":["Rose", "Lotus"]}

print (d1)

It will raise a TypeError −

Traceback (most recent call last):

File "C:\Users\Sairam\PycharmProjects\pythonProject\[Link]", line 8, in <module>

d1 = {["Mango”, “Banana"]:"Fruit", "Flower":["Rose", "Lotus"]}

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

TypeError: unhashable type: 'list'

Example 3

We can assign a value to more than one keys in a dictionary, but a key cannot appear more
than once in a dictionary.

d1 = {"Banana":"Fruit", "Rose":"Flower", "Lotus":"Flower", "Mango":"Fruit"}

d2 = {"Fruit":"Banana","Flower":"Rose", "Fruit":"Mango", "Flower":"Lotus"}

print (d1)

print (d2)
output

{'Banana': 'Fruit', 'Rose': 'Flower', 'Lotus': 'Flower', 'Mango': 'Fruit'}

{'Fruit': 'Mango', 'Flower': 'Lotus'}

• Creating a Dictionary
We can create a dictionary in Python by placing a comma-separated sequence of key-value pairs
within curly braces {}, with a colon : separating each key and its associated value. Alternatively,
you can use the dict() function.

Example

sports_player = {

"Name": "Sachin Tendulkar",

"Age": 48,

"Sport": "Cricket"

print ("Dictionary using curly braces:", sports_player)

# Creating a dictionary using the dict() function

student_info = dict(name="Alice", age=21, major="Computer Science")

print("Dictionary using dict():",student_info)

Output

Dictionary using curly braces: {'Name': 'Sachin Tendulkar', 'Age': 48, 'Sport': 'Cricket'}

Dictionary using dict(): {'name': 'Alice', 'age': 21, 'major': 'Computer Science'}

• Accessing Dictionary Items


We can access the value associated with a specific key using square brackets [] or the get()
method −

student_info = {

"name": "Alice",

"age": 21,

"major": "Computer Science"


}

# Accessing values using square brackets

name = student_info["name"]

print("Name:",name)

# Accessing values using the get() method

age = student_info.get("age")

print("Age:",age)

The result obtained is as follows −

Name: Alice

Age: 21

• Modifying Dictionary Items


We can modify the value associated with a specific key or add a new key-value pair −

student_info = {

"name": "Alice",

"age": 21,

"major": "Computer Science"

# Modifying an existing key-value pair

student_info["age"] = 22
# Adding a new key-value pair

student_info["graduation_year"] = 2023

print("The modified dictionary is:",student_info)

Output of the above code is as follows −

The modified dictionary is: {'name': 'Alice', 'age': 22, 'major': 'Computer Science',
'graduation_year': 2023}

• Removing Dictionary Items


We can remove items using the del statement, the pop() method, or the popitem() method −

student_info = {

"name": "Alice",

"age": 22,

"major": "Computer Science",

"graduation_year": 2023

# Removing an item using the del statement

del student_info["major"]

# Removing an item using the pop() method

graduation_year = student_info. Pop("graduation_year")

print(student_info)

Output

{'name': 'Alice', 'age': 22}


• Iterating Through a Dictionary
We can iterate through the keys, values, or key-value pairs in a dictionary using loops −

student_info = {

"name": "Alice",

"age": 22,

"major": "Computer Science",

"graduation_year": 2023

# Iterating through keys

for key in student_info:

print("Keys:”, key, student_info[key])

# Iterating through values

for value in student_info. Values():

print("Values:”, value)

# Iterating through key-value pairs

for key, value in student_info. Items():

print("Key:Value: “key, value)

Output

Keys: name Alice


Keys: age 22
Keys: major Computer Science
Keys: graduation_year 2023
Values: Alice
Values: 22
Values: Computer Science
Values: 2023
Key:Value: name Alice
Key:Value: age 22
Key:Value: major Computer Science
Key:Value: graduation_year 2023
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
• 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. For example −

dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'}

print ("dict['Name']: ", dict['Name'])

Output

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 −

dict = {['Name']: 'Zara', 'Age': 7}

print ("dict['Name']: ", dict['Name'])

Output

Traceback (most recent call last):

File "[Link]", line 3, in <module>

dict = {['Name']: 'Zara', 'Age': 7};

TypeError: unhashable type: 'list'


• Python Dictionary Operators
d1 = {'a': 2, 'b': 4, 'c': 30}

d2 = {'a1': 20, 'b1': 40, 'c1': 60}

Operator Description Example


dict[key] Extract/assign the value mapped with print (d1['b']) retrieves 4
key d1['b'] = 'Z' assigns new value
to key 'b'
dict1|dict2 Union of two dictionary objects, d3=d1|d2 ; print (d3)
returning new object {'a': 2, 'b': 4, 'c': 30, 'a1': 20,
'b1': 40, 'c1': 60}
dict1|=dict2 Augmented dictionary union operator d1|=d2; print (d1)
{'a': 2, 'b': 4, 'c': 30, 'a1': 20,
'b1': 40, 'c1': 60}
Python Dictionary Methods
[Link]. Methods with Description

1 [Link]()
Removes all elements of dictionary dict
Syntax
[Link]()
2 [Link]()
Returns a shallow copy of dictionary dict
Syntax
[Link]()
Example
dict1 = {'Name': 'Zara', 'Age': 7}; dict2 = [Link]() print ("New Dictionary : %s" %
str(dict2))
output
New Dictionary : {'Name': 'Zara', 'Age': 7}
3 [Link]()
Create a new dictionary with keys from seq and values set to value.
Syntax
[Link](seq, [value])
example
seq = ('name', 'age', 'sex')
dict = [Link](seq)
print ("New Dictionary : %s" % str(dict))
output
New Dictionary : {'name': None, 'age': None, 'sex': None}
4 [Link](key, default=None)
For key key, returns value or default if key not in dictionary
Syntax
[Link](key, value)
example
dict = {'Name': 'Zebra', 'Age': 7}
print ("Value : %s" % [Link]('Age'))
output
Value : 7
5 dict.has_key(key)
Returns true if key in dictionary dict, false otherwise
Syntax
dict.has_key(key)
Example
dict = {'Name': 'Zara', 'Age': 7}
print "Value : %s" % dict.has_key('Age')
output
Value : True
6 [Link]()
Returns a list of dict's (key, value) tuple pairs
Syntax
[Link]()
Example
dict = {'Name': 'Zara', 'Age': 7}
print ("Value : %s" % [Link]())
Output
Value : dict_items([('Name', 'Zara'), ('Age', 7)])
7 [Link]()
Returns list of dictionary dict's keys
Syntax
[Link]()
Example
dict = {'Name': 'Zara', 'Age': 7}
print ("Value : %s" % [Link]())
Output
Value : [Link](['Name', 'Age'])
8 [Link](key, default=None)
Similar to get(), but will set dict[key]=default if key is not already in dict
Syntax
[Link](key, default=None)
Example
dict = {'Name': 'Zara', 'Age': 7}
print ("Value : %s" % [Link]('Age', None))
Output
Value : 7
9 [Link](dict2)
Adds dictionary dict2's key-values pairs to dict
Syntax
[Link](other)
Example
dict = {'Name': 'Zara', 'Age': 7}
dict2 = {'Sex': 'female' }
[Link](dict2)
print ("Value : %s" % dict)
Output
Value : {'Name': 'Zara', 'Age': 7, 'Sex': 'female'}
10 [Link]()
Returns list of dictionary dict's values
Syntax
[Link]()
Example
dict = {'Name': 'Zara', 'Age': 7}
print ("Value : %s" % [Link]())
Output.
Value : dict_values(['Zara', 7])

You might also like