笨方法学Python——39课

代码


# 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值