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
Python3
# creating a dictionaryfounder = {'Apple': 'Steve Jobs', 'Microsoft': 'Bill Gates'}# formattingprint('{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 listlist_items = [1, 3, 5, 7, 9, 11]# formattingprint('{l[3]} {l[5]}'.format(l = list_items)) |
Output :
7 11
Accessing attributes on objects that support getattr()
a) For Class
Python3
# creating a classclass Program(object): language = 'Python'# formattingprint('{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 classclass Program(object): language = 'Python' # creating a dictionary versions = [{'version': '1'}, {'version': '2'}, {'version': '3'}]# formattingprint('{p.language}: {p.versions[2][version]}'.format(p = Program())) |
Output :
Python: 3



