- 零基础学Python编程(少儿趣味版)
- 溪溪爸爸
- 930字
- 2025-02-26 00:17:50
2.3.2 什么是字典
创建一个变量roll,将派森号所有的运动员参赛项目的键值对都存放进去,用逗号(,)隔开,再用花括号({})把它们全部括起来,这就是一个字典了:
#派森号的参赛项目名册 roll={'格兰特蕾妮': ['10000公里竞速',0, '精准抛射', '着陆技巧', '星矿探索'], '大熊': [0,'20000公里避障飞行','精准抛射',0, '星矿探索'], '西西船长': ['10000公里竞速',0,'精准抛射', '着陆技巧', '星矿探索'], '克里克里': [0,'20000公里避障飞行','精准抛射', '着陆技巧', '星矿探索'], '菲菲兔': ['10000公里竞速',0,'精准抛射', '着陆技巧', '星矿探索'], '洛克威尔': ['10000公里竞速','20000公里避障飞行',0,'着陆技巧',0] }
“看起来挺整齐呀!”一旁观看许久的裁判长迪克纳瑞先生说道,“可是这个字典真能快速地告诉我每个队员的项目吗?”
“是的,裁判长先生。”洛克威尔说,“可以通过字典元素的键立即得到它对应的值。比如现在想知道我的参赛项目,可以这样做。”说着,洛克威尔输入了以下代码:
#引用字典元素 print(roll) #输出整个字典 name='洛克威尔' print(name,"参加的项目是: ",roll[name]) #输出键'洛克威尔'对应的值
运行后输出为:
{'格兰特蕾妮': ['10000公里竞速', 0, '精准抛射', '着陆技巧', '星矿探索'], '大熊': [0, '20000公里避障飞行', '精准抛射', 0, '星矿探索'], '西西船长': ['10000公里竞速', 0, '精准抛射', '着陆技巧', '星矿探索'], '克里克里': [0, '20000公里避障飞行', '精准抛射', '着陆技巧', '星矿探索'], '菲菲兔': ['10000公里竞速', 0, '精准抛射', '着陆技巧', '星矿探索'], '洛克威尔': ['10000公里竞速', '20000公里避障飞行', 0, '着陆技巧', 0]} 洛克威尔 参加的项目是: ['10000公里竞速', '20000公里避障飞行', 0, '着陆技巧', 0]
看到了吧,只要告诉字典需要的“键”,立马就会得到对应的“值”。
使用方括号([])指明要访问的元素的key值即可获得对应的value值,相当于使用key值作为元素的下标,这样就不需要关心元素在字典中存放的位置了。
“那字典也和列表、元组、字符串一样,属于序列类型吗?”迪克纳瑞问。
“Oh,no!实际上,字典无法使用序号作为下标,否则代码就会产生错误,不信你试试?”洛克威尔对裁判长先生说。
>>> roll[3] #试图返回字典的第4个下标元素 Traceback (most recent call last): File "<pyshell#2>", line 1, in <module> roll[3] #试图返回字典的第4个下标元素 KeyError: 3
IDLE提示“键错误”(KeyError),意思是字典里没有3这个键。所以同样的道理,如果访问字典元素时,不小心写错了键,也会出现同样的错误。