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