Open In App

Formatting containers using format() in Python

Last Updated : 06 Mar, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Let us see how to format containers that were accessed through  __getitem__ or getattr() using the format() method in Python.

Accessing containers that support __getitem__

a) For Dictionaries

Python3




# creating a dictionary
founder = {'Apple': 'Steve Jobs', 'Microsoft': 'Bill Gates'}
 
# formatting
print('{f[Microsoft]} {f[Apple]}'.format(f = founder))


Output :

Bill Gates Steve Jobs

f[Microsoft] is replaced by Bill Gates and f[Apple] is replaced by Steve Jobs.

b) For lists

Python3




# creating a list
list_items = [1, 3, 5, 7, 9, 11]
 
# formatting
print('{l[3]} {l[5]}'.format(l = list_items))


Output :

7 11

Accessing attributes on objects that support getattr()

a) For Class

Python3




# creating a class
class Program(object):
    language = 'Python'
 
# formatting
print('{p.language}'.format(p = Program()))


Output :

Python

p.language is replaced by Python as language is an attribute of Program

Accessing the nested structure

Python3




# creating a class
class Program(object):
    language = 'Python'
     
    # creating a dictionary
    versions = [{'version': '1'}, {'version': '2'}, {'version': '3'}]
 
# formatting
print('{p.language}: {p.versions[2][version]}'.format(p = Program()))


Output :

Python: 3


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads