字典的修炼——修仙者的法宝库
师傅玄天真人在他面前摊开一本泛黄的法典,上面写着:“字典是修仙者存储法宝的仓库,能让你快速找到需要的宝贝。”
“师傅,字典是啥玩意儿?”林羽挠挠头,一脸懵逼。
“字典是Python中的一种‘法宝库’,它不像列表那样按顺序存储,而是通过‘键’来找东西。”玄天真人解释道,“就像你在法宝库里贴上标签,写上‘飞剑’或者‘丹药’,以后直接按标签找就行。”
“那键有啥要求?”林羽继续问。
“键必须是不可变的东西,比如数字、字符串,不能是列表或者其他乱七八糟的东西。而且同一个字典里,键不能重复。”玄天真人随手写下一段代码:
# 创建一个空字典
法宝库 ={}
法宝库['飞剑']="青云剑"
法宝库['丹药']="九转金丹"# 另一个法宝库
小法宝库 ={'飞剑':'青云剑','丹药':'九转金丹','符咒':'隐身符'}
“看,这就是字典的用法。”玄天真人说道,“用大括号{}包裹,键和值用冒号隔开,键值对之间用逗号分隔。”
林羽照着写了一遍,发现自己的法宝库成功创建了。
打怪升级:字典的练习
“接下来,你要练习如何从法宝库里取东西。”玄天真人丢给林羽一段代码:
法宝库 = {'飞剑': '青云剑', '丹药': '九转金丹', '符咒': '隐身符'}# 取出飞剑
print(法宝库['飞剑'])# 取出丹药
print(法宝库['丹药'])
林羽运行后,法典上显示出:
青云剑
九转金丹
“师傅,我取出来了!”林羽兴奋地说。
“很好,这只是第一步。”玄天真人又丢给他一个任务:
练习实例:
-
创建一个字典,存储三种法宝:飞剑、丹药、符咒。
-
添加一种新法宝:灵宠,值为“青龙”。
-
修改丹药的值为“九转还魂丹”。
-
删除符咒。
-
打印最终的法宝库。
林羽开始动手:复制
# 创建法宝库
法宝库 ={'飞剑':'青云剑','丹药':'九转金丹','符咒':'隐身符'}# 添加灵宠
法宝库['灵宠']='青龙'# 修改丹药
法宝库['丹药']='九转还魂丹'# 删除符咒
del 宝库['符咒']# 打印法宝库
print(法宝库)
运行后,法典上显示出:
{'飞剑': '青云剑', '丹药': '九转还魂丹', '灵宠': '青龙'}
“不错,经验值+20!”玄天真人满意地点点头。
字典的高级修炼——法宝库的秘籍
“字典还有很多高级用法。”玄天真人翻开法典的下一页,上面写着:“字典推导式和内置函数。”
“啥是字典推导式?”林羽好奇地问。
“字典推导式就像批量制造法宝的法术。”玄天真人写下一段代码:
# 用字典推导式创建法宝库
法宝库 = {f'法宝{i}': f'宝贝{i}' for i in range(1, 4)}
print(法宝库)
运行后,法典上显示出:
{'法宝1': '宝贝1', '法宝2': '宝贝2', '法宝3': '宝贝3'}
“哇,这太方便了!”林羽惊叹道。
“还有内置函数,比如keys()、values()、items(),它们能帮你快速查看法宝库的信息。”玄天真人继续说道:
# 查看所有键
print(法宝库.keys())# 查看所有值
print(法宝库.values())# 查看键值对
print(法宝库.items())
运行后,法典上显示出:
dict_keys(['法宝1', '法宝2', '法宝3'])
dict_values(['宝贝1', '宝贝2', '宝贝3'])
dict_items([('法宝1', '宝贝1'), ('法宝2', '宝贝2'), ('法宝3', '宝贝3')])
“师傅,这些函数太好用了!”林羽开心地说。
打怪升级:字典的高级练习
“最后,你要学会清空法宝库。”玄天真人丢给林羽一个任务:
练习实例:
-
创建一个字典,存储三种法宝:飞剑、丹药、符咒。
-
使用clear()清空字典。
-
打印清空后的字典。
林羽开始动手:
# 创建法宝库
法宝库 = {'飞剑': '青云剑', '丹药': '九转金丹', '符咒': '隐身符'}# 清空法宝库
法宝库.clear()# 打印法宝库
print(法宝库)
运行后,法典上显示出:
{}
“师傅,我成功清空了!”林羽兴奋地说。
“很好,经验值+30!”玄天真人满意地笑了。
经过这一番修炼,林羽对字典的用法已经了如指掌,离进阶又更近一步了。