字典及操作

字典的定义

字典是 Python 最强大的数据类型之一,通过键-值(key-value)对的方式建立数据对象之间的映射关系。

字典的每个键-值对用冒号:分割,每个键-值对间用逗号,分隔开,字典是包含在{}中。

每个都与一个值相关联,我们可以使用键来访问与之相关联的值。与相关联的值可以是数字、字符串、列表乃至字典。

事实上,可将任何 Python 对象用作字典中的值。

字典的相关操作

  • 字典的创建

字典的创建格式如下所示:

d = {key1 : value1, key2 : value2 }

必须是唯一的,但值则不必。

值可以取任何数据类型,但必须是不可变的,如字符串,数字或元组。

一个简单的字典实例:

  1. >>> dict = {'Alice': '2341', 'Beth': '9102'}
  2. >>> print(dict)
  3. {'Alice': '2341', 'Beth': '9102'}
  • 访问字典中的值

要获取与相关联的值,可依次指定字典名和放在方括号内的。我们访问列表等其他类型是通过方括号[]内添加索引位置的形式,这里字典我们把索引位置用字典中的键(key)来代替。

把相应的键放入到方括号中(name[key]):

  1. >>> dict = {'Name': 'Runoob', 'Age': 7}
  2. >>> print ("dict['Name']: ", dict['Name'])
  3. dict['Name']: Runoob
  4. >>> print ("dict['Age']: ", dict['Age'])
  5. dict['Age']: 7
  • 添加元素(键-值对)

字典是一种动态数据结构,可随时在字典中添加键—值对。要添加键—值对时,可依次指定字典名、对应的值。

下面在字典menu中添加两道菜的菜名和价格:

  1. >>> #coding=utf-8
  2. #创建并初始化menu字典
  3. >>> menu = {'鱼':40, '猪肉':30, '番茄':15, '拉面':10}
  4. #向menu字典中添加菜名和价格
  5. >>> menu['果汁'] = 12
  6. >>> menu['煎蛋'] = 2
  7. ######输出新的menu
  8. >>> print(menu)
  9. {'鱼': 40,'猪肉': 30,'番茄': 15,'拉面': 10, '果汁': 12,'煎蛋': 2}

新的menu字典包含6键-值对,新增加的两个键-值对(菜名和对应价格)添加在了原有键-值对的后面,注意字典中键-值对的排列顺序和添加顺序没有必然联系,Python 不关心字典中键-值对的排列顺序,而只关心键与值得对应关系。

同理,字典和列表一样,可以先创建一个空字典,然后可以不断向里面添加新的键-值对。

  • 修改字典中的值

字典和列表一样,里面的值都是可以修改的。要修改字典中的值,可直接指定字典中的键所对应的新值。例如,将menu中的fish价格改为50

  1. >>> #coding = utf-8
  2. #创建并初始化menu字典
  3. >>> menu = {'鱼':40, '猪肉':30, '番茄':15, '拉面':10}
  4. # 修改menu字典中菜fish的价格
  5. >>> menu['鱼'] = 50
  6. # 打印输出新的menu
  7. >>> print(menu)
  8. {'鱼': 50, '猪肉': 30, '番茄': 15, '拉面': 10}
  • 删除键-值对

我们可以通过del方法删除字典中不需要的键-值对,使用del方法时,要指定字典名和要删除的

例如,在menu菜单中删除键noodles和它的值。

  1. ###### 创建并初始化menu字典
  2. >>> menu = {'鱼':40, '猪肉':30, '番茄':15, '拉面':10}
  3. ###### 删除noodles键值对
  4. >>> del menu['拉面']
  5. ###### 打印输出新的menu
  6. >>> print(menu)
  7. {'鱼':40, '猪肉':30, '番茄':15}

#********* Begin *********#
#第一步 创建一个空字典 menu
menu={}

#第二步 将列表fruit中水果与prices中的价格对应给menu赋值并输出
fruit = ["苹果","梨子","菠萝","黄瓜","香蕉"]
prices = [2,3,10,2,1]
menu = dict(zip(fruit,prices))
print(menu)

#第三步 将20块钱的"哈密瓜"添加到字典menu中并输出
menu['哈密瓜']=20
print(menu)

#第四步 将"黄瓜"从menu中去掉并输出
del menu['黄瓜']
print(menu)

#第五步 将菠萝的价格修改为9.9,打印输出menu
menu['菠萝']=9.9
print(menu)
#********* End *********#
# 创建并初始化menu_dict字典
menu_dict = {}
while True:
    try:
        food = input()
        price = int(input())
        menu_dict[food]= price
    except:
        break

#请在此添加代码,实现对menu_dict的添加、查找、修改等操作,并打印输出相应的值
###### Begin ######
menu_dict['lamb']=50

print(menu_dict['fish'])
menu_dict['fish']=100
del menu_dict['noodles']
print(menu_dict)
#######  End #######

字典遍历

# 创建并初始化menu_dict字典
menu_dict = {}
while True:
    try:
        food = input()
        price = int(input())
        menu_dict[food]= price
    except:
        break

#请在此添加代码,实现对menu_dict的遍历操作并打印输出键与值
###### Begin ######
for key in menu_dict.keys():
   print(key)
for value in menu_dict.values():
   print(value)


#######  End #######



嵌套

初始化menu1字典,输入两道菜的价格
menu1 = {}
menu1['fish']=int(input())
menu1['pork']=int(input())

#menu_total列表现在只包含menu1字典
menu_total = [menu1]

# 请在此添加代码,实现编程要求
#********** Begin *********#

menu2={'fish':menu1['fish']*2,'pork':menu1['pork']*2}
menu_total=[menu1,menu2]


#********** End **********#

#输出menu_total列表
print(menu_total)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值