python keyerror5种方法_Python 《笨办法学python》38题keyerror问题

我在敲《笨办法学python》这本书时遇到的问题,习题38。

我的代码如下:

# 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 cites 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 evert state abbreviation

print '-' * 10

for state, abbrev in states.items():

print "%s is abbreviated %s" % (state, abbrev)

# now do both at the same time

print '-' * 10

for state, abbrev in states.items():

print "%s state is abbreviated %s has city %s" % (

state, abbrev, cities[abbrev])

print '-' * 10

# safely get a abbreviation by states might not be there

state = states.get('Texas', None)

if not state:

print "Sorry, no Texas."

# get a city with a default value

city = cities.get('TX', 'Does Not Exist')

print "The city for the state 'TX' is: %s " % 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:

Traceback (most recent call last):

File "python_day1.py", line 34, in

print "Florida has: ", cities[states['Florida']]

KeyError: 'FL'

为什么会出现Keyerror呢?

请注意大小写python#create a basic set of states and some cites in them

cities = {

'CA': 'San Francisco',

'MI': 'Detroit',

'Fl': 'Jacksonville' # l 是小写, 请改为 'FL'

}

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd18833.html

相关文章 Recommend

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值