Open In App

Formatting containers using format() in Python

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




# 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




# 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




# 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




# 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

Article Tags :