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