字典dict 所作的,是让你可以通过任何东西找到元素,不只是数字。字典可以将一个物件和另外一个东西关联,不管它们的类型是什么
书中ex39.py代码修改为:
# create a mapping of state to abbreviation
states = {
'Oregon': 'OR',
'Florida': 'FL',
'California': 'CA',
'New York': 'NY',
'Michigan': 'MI'
}
# create a basic set of states and some cities in them
cities = {
'CA': 'San Francisco',
'MI': 'Detroit',
'FL': 'Jacksonville'
}
# add some more cities
cities['NY'] = 'New York'
cities['OR'] = 'Portland'
# print out some cities
print('-' * 10)
print("NY State has:", cities['NY'])
print("OR State has:", cities['OR'])
# print some states
print('-' * 10)
print("Michigan's abbreviation is:", states['Michigan'])
print("Florida's abbreviation is :", states['Florida'])
# do it bye using the state the cities dict
print('-' * 10)
print("Michigan has: ", cities[states['Michigan']])
print("Florida has: ", cities[states['Florida']])
# print ever state abbreviation
print('-' * 10)
for state, abbrev in states.items():
print("%s is abbreviated %s" % (state, abbrev))
# print every city in state
print('-' * 10)
for abbrev, city in cities.items():
print("%s has the city % s" % (abbrev, city))
# now do both at the same time
print('-' * 10)
for state, abbrev in states.items():
print("%s state is abbreviated %s and has city %s" % (state, abbrev, cities[abbrev]))
print('-' * 10)
# safely get a abbreviation by state that might not be there
state = states.get('Texas')
if not state:
print("Sorry, no Texas")
# get a city with a default value
city = cities.get('Tx', 'Dose Not Exist')
print("The city for the state 'TX' is : %s " % city)
输出结果: