These are good questions. Q1 covers the very important knowledge that a key has one and only one value. I think Q2 requires a little more python knowledge than what's covered in the dictionary concept map but is otherwise a good exercise in assessing how to iterate over a dictionary and operate on the key, value pairs.
Q1
3
Q2
cities = {
'Jerusalem': 'Israel',
'Tel Aviv': 'Israel',
'Denver': 'USA',
}
reversed = {}
for key, value in cities.items(): # to iterate over key,value tuples, use the .items function
if value not in reversed:
reversed[value] = []
reversed[value].append(key)
print reversed['Israel']
# note this order is variable due to random ordering from .items
['Tel Aviv', 'Jerusalem']