Unpacking
Considering dictionaries, the format( ) function can be used several ways.
Regular Way
>>> my_string = "Hi! My name is { } and I live in { }"
>>> my_string.format('Kenneth', 'Oregon')
'Hi! My name is Kenneth and I live in Oregon'
Using Titled Placeholder
>>> my_string = "Hi! My name is {name} and I live in {state}"
>>> my_string.format(name='Kenneth', state='Oregon')
'Hi! My name is Kenneth and I live in Oregon'
Using Dictionaries!
>>> my_dict = { 'name':' Kenneth', 'state': 'Oregon' }
>>> my_string.format(**my_dict)
'Hi! My name is Kenneth and I live in Oregon'
EXERCISE
dicts_list = [
{'name': 'Michelangelo', 'food': 'PIZZA'} , {'name': 'Garfield', 'food': 'lasanga'},
{'name': 'Walter', 'food': 'pancakes'} , {'name': 'Galactus', 'food': 'worlds'} ]
string = "Hi, I'm {name} and I love to eat {food}!"
def string_factory(dicts_list, string):
my_list = []
for item in dicts_list:
my_list.append(string.format(**item))
return my_list
print('\n'.join(string_factory(dicts_list, string)))
Iteration
>>> my_dict = {'name': 'Kenneth', 'age': 33, 'state': 'Oregon', 'country': 'USA', 'employer': 'Treehouse',
'job': 'Teacher'}
>>> my_dict
{'name': 'Kenneth', 'age': 33, 'state': 'Oregon', 'country': 'USA', 'employer': 'Treehouse', 'job': 'Teacher'}
Over Keys
>> for key in my_dict: ... print(key) ... name, employer, state, age, country, job
Over Values
my_dict[key]
>> for key in my_dict: ... print(my_dict[key]) ... Kenneth, Treehouse, Oregon, 33, USA, Teacher
.values( )
>> for value in my_dict.values() ... print(value) ... Kenneth, Treehouse, Oregon, 33, USA, Teacher