# -*- coding: utf-8 -*-
states = {
'oregon': 'OR',
'florida': 'FL',
'california': 'CA',
'new york': 'NY',
'michigan': 'MI'
}
cities = {
'CA': 'san francisco',
'MI': 'detroit',
'FL': 'jacksonville'
}
cities['NY'] = 'new york'
cities['OR'] = 'portland'
for state, abbrev in states.items(): # add two variables
print "%s is abbreviated %s" % (state, abbrev)
print '-' * 10
for abbrev, city in cities.items():
print "%s has the city %s" % (abbrev, city)
print '-' * 10
for state, abbrev in states.items(): # this is what i'm confusing about
print "%s state is abbreviated %s and has city %s" % (state, abbrev, cities[abbrev])
Я просто хочу узнать в сомнительной строке, есть только две введенные переменные (state & abbrev), почему может быть указано три переменные (state & abbrev & city [abbrev])?
Я предполагаю, что «аббревиатура» используется дважды, один раз в государствах dict и один раз в городах dict.Значит, города [аббревиатура] означает возвращать второе значение каждой пары вещей?Кто-нибудь может подтвердить, если мои предположения верны?
Если это так, почему я получаю ключевую ошибку, когда меняю города [аббревиатура] на города [штат]?Код ошибки: KeyError: «Калифорния».Он должен возвращать первое значение каждой пары.
Я не понимаю, как это работает, не могли бы вы помочь мне найти выход?