学习要点

  • dict.get(key, default=None) 表示返回指定键的值,如果值不在字典中返回default值
  • dict.items() 表示以列表返回可遍历的(键, 值) 元组数组

程序代码

# 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 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 here
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}")

输出结果

----------
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
California 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
California 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.
The city for the state 'TX' is Does not Exist
最后修改:2021 年 04 月 13 日
如果觉得我的文章对你有用,请随意赞赏