Python——字典的使用

字典的使用:这份菜单可以修改

  • 字典和列表一样,都是 Python
    中十分重要的可变容器模型,都可以存储任意类型元素。我们将以菜单的例子来说明字典使用的基本知识,餐馆的菜单上不仅包含菜名,菜名后面还必须包含该道菜的价格。如果要用列表实现,就需要两个列表,例如:
list_menu = ['fish','pork','potato','noodles']
list_price = [40,30,15,10]

给定一个菜名,要查找相应的价格,就先要在list_menu中找到相应的位置,再在list_price中找到相应的价格。这种方式效率低下,那么我们是否可以将菜名和价格都存储在一个可变容器中呢?答案是可以的。

我们将学习和掌握能够将相关信息关联起来的 Python 字典的相关知识,并完成对包含菜名和价格的菜单的处理操作。

相关知识

  • 字典是 Python
    最强大的数据类型之一,通过键-值对的方式建立数据对象之间的映射关系。字典的每个键-值对用冒号 : 分割,每个键-值对间用逗号 , 分隔开,字典则包含在 {} 中。列表格式如下:
d = { key1 : value1, key2 : value2 }

每个键都与一个值相关联,我们可以使用键来访问与之相关联的值。与键相关联的值可以是数字、字符串、列表乃至字典。事实上,可将任何 Python 对象用作字典中的值。

访问字典中的值

  • 要获取与键相关联的值,可依次指定字典名和放在方括号内的键,如下所示:
# 创建并初始化menu字典
menu = {'fish':40, 'pork':30, 'potato':15, 'noodles':10}
# 获取并返回menu字典中键'fish'键对应的值
print(menu['fish'])

输出结果:

40

添加键-值对

  • 字典是一种动态数据结构,可随时在字典中添加键-值对。要添加键-值对时,可依次指定字典名、键和键对应的值。下面在字典menu中添加两道菜的菜名和价格:
# 创建并初始化menu字典
menu = {'fish':40, 'pork':30, 'potato':15, 'noodles':10}
# 向menu字典中添加菜名和价格
menu['juice'] = 12
menu['egg'] = 5
# 输出新的menu
print(menu)

输出结果:

{'fish': 40,'pork': 30,'potato': 15,'noodles': 10, 'juice': 12,'egg': 5}

新的menu字典包含6个键-值对新增加的两个键-值对(菜名和对应价格)添加在了原有键-值对的后面。

注意:字典中键-值对的排列顺序和添加顺序没有必然联系。Python 不关心字典中键-值对的排列顺序,而只关心键与值的对应关系。
同理,字典和列表一样,可以先创建一个空字典,然后可以不断向里面添加新的键-值对。

修改字典中的值

  • 字典和列表一样,里面的值都是可以修改的。要修改字典中的值,可直接指定字典中的键所对应的新值。例如,将menu中的fish价格改为50:
# 创建并初始化menu字典
menu = {'fish':40, 'pork':30, 'potato':15, 'noodles':10}
# 修改menu字典中菜fish的价格
menu['fish'] = 50
# 打印输出新的menu
print(menu)

输出结果:

{'fish': 50, 'pork': 30, 'potato': 15, 'noodles': 10}

删除键-值对

  • 我们可以通过del方法删除字典中不需要的键-值对。 使用del方法时,要指定字典名和要删除的键。例如,在menu菜单中删除键noodles和它的值:
# 创建并初始化menu字典
menu = {'fish':40, 'pork':30, 'potato':15, 'noodles':10}
# 删除noodles键值对
del menu['noodles']
# 打印输出新的menu
print(menu)

输出结果:

{'fish': 40, 'pork': 30, 'potato': 15}

编程要求

  • 编程任务实现相应的功能。具体要求如下:
  1. 向menu_dict字典中添加一道菜名lamb,它的价格是50;
  2. 获取menu_dict字典中的fish的价格并打印出来;
  3. 将menu_dict字典中的fish的价格改为100;
  4. 删除menu_dict字典中noodles这道菜;
  5. 输出新的menu_dict菜单。

测试说明

测试输入:

pizza
40
noodles
30
carrot
20
turkey
34
fish
37

预期输出:

37
{'pizza': 40, 'carrot': 20, 'turkey': 34, 'fish': 100, 'lamb': 50}

上代码:
在这里插入图片描述

如果注释理解有误,请大佬们多多评论指教!!

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值