代码
# create a mapping of state to abbreviation
states = {
'Oregon': 'OR',
'Florida': 'FL',
'Califorida': '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 by using the state then cities dict
print('-' * 10)
print("Michigan has: ", cities[states['Michigan']])
print("Florida has: ", cities[states['Florida']])
# print every state abbreviation
print('-' * 10)
for state, abbrev in list (states.items()):
print(f"{state} is abbreviated {abbrev}")
# print every city in state
print('-' * 10)
for abbrev, city in list (cities.items()):
print(f"{abbrev} has the city {city}")
# now do both at the same time
print('-' * 10)
for state, abbrev in list (states.items()):
print(f"{state} state is abbreviated {abbrev} ")
print(f"and has city {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', 'Does Not Exist')
print(f"The city for the state 'TX' is : {city}")
笔记
1、可以直接对字典中添加元素,如以下代码所示。
# 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(cities)
#应出现的结果
#{'CA': 'San Francisco', 'MI': 'Detroit', 'FL': 'Jacksonville', 'NY': 'New York', 'OR': 'Portland'}
2、for state, abbrev in list (states.items()):
使用for循环将字典states中的元素以列表的形式带入变量state、abbrev。states.items()将字典states中元素以列表形式无序返回,list()将无序元素转换为列表。
3、state = states.get(‘Texas’)调用get()函数在字典states中找’Texas’对应的值并赋给变量state。如果字典中没有相应的元素,返回默认值none。
4、city = cities.get(‘TX’, ‘Does Not Exist’)调用get()函数在字典cities中找’TX’对应的值并赋给变量cities。如果字典中没有相应的元素,返回默认值Does Not Exist。
应出现的结果
----------
NY State has: New York
OR State has: Portland
----------
Michigan's abbreviation is : MI
Florida's abbreviation is : FL
----------
Michigan has: Detroit
Florida has: Jacksonville
----------
Oregon is abbreviated OR
Florida is abbreviated FL
Califorida is abbreviated CA
New York is abbreviated NY
Michigan is abbreviated MI
----------
CA has the city San Francisco
MI has the city Detroit
FL has the city Jacksonville
NY has the city New York
OR has the city Portland
----------
Oregon state is abbreviated OR
and has city Portland
Florida state is abbreviated FL
and has city Jacksonville
Califorida state is abbreviated CA
and has city San Francisco
New York state is abbreviated NY
and has city New York
Michigan state is abbreviated MI
and has city Detroit
----------
Sorry, no Texas
Does Not Exist
The city for the state 'TX' is : Does Not Exist