Python字典类型的操作
来自CloudWiki
目录
字典类型的操作
添加元素
>>> t={} >>> t["201804"]="小新"
删除元素
dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'} del dict['Name'] # 删除键 'Name' dict.clear() # 清空字典 del dict # 删除字典 print ("dict['Age']: ", dict['Age']) print ("dict['School']: ", dict['School'])
查看元素
>>> t["201804"]
修改元素
>>> t["201804"]="小红"
判断是否存在
- 字典类型也支持保留字in,用来判断一个键是否在字典 中。如果在则返回True,否则返回False:
{'02': '小红'} >>> '02' in d True >>> '01' in d False
遍历字典
与其他组合类型一样,字典可以遍历循环对其元素进行 遍历,
基本语法结构如下:
for <变量名> in <字典名> :
<语句块>
for循环返回的变量名是字典的索引值。如果需要获得键 对应的值,可以在语句块中通过get()方法获得
- 用for来进行遍历:
>>> d={"01":"小明","02":"小红","03":"小白"} >>> for k in d: print(k,d.get(k)) 01 小明 02 小红 03 小白 >>>
for i in dictMenu.values(): print(i) for i in dictMenu.keys(): print(i) for i in dictMenu.items(): print(i) for i in dictMenu.items(): print(i)
常用操作函数
- dict() 生成一个空字典
- len()给出字典元素的个数
- max()、min() 返回字典d中最小或最大索引值。
>>> d={"01":"小明","02":"小红","03":"小白"} >>> len(d) 3 >>> min(d) '01' >>> max(d) '03' >>> d = dict() >>> print(d) {}
常用操作方法
概述
字典类型存在一些操作方法,使用语法形式是:
<字典变量>.<方法名称>(<方法参数>)
d.keys() 返回所有的键信息
d.values() 返回所有的值信息
d.items() 返回所有的键值对
d.get(key, default) 键存在则返回相应值,否则返回默认值
d.pop(key, default) 键存在则返回相应值,同时删除键值对,否则返回默认值
d.popitem() 随机从字典中取出一个键值对,以元组(key, value)形式返回
d.clear() 删除所有的键值对
获取所有键和值
d.keys()返回字典中的所有键信息。
- d.keys()返回字典中的所有键信息。
>>> d={"01":"小明","02":"小红","03":"小白"} >>> d.keys() dict_keys(['01', '02', '03']) >>> list(d.keys()) ['01', '02', '03']
- d.values()返回字典中的所有值信息,用dict_values表示,可以将其转换为列表类型
>>> d.values() dict_values(['小明', '小红', '小白']) >>> list(d.values()) ['小明', '小红', '小白']
- d.items()返回字典中的所有键值对信息,用dict_items表示,可以将其转换为列表类型
>>> d.items() dict_items([('01', '小明'), ('02', '小红'), ('03', '小白')]) >>> list(d.items()) [('01', '小明'), ('02', '小红'), ('03', '小白')]
返回单个键和值
- 字典对象提供了一个get()方法用来返回指定“键”对应的“值”,并且允许指定该键不存在时返回特定的“值”
- d.pop(key,defaults)根据键信息查找并取出值信息,如果key存在则返回相应值,否则返回默认值
- 相比于get(),pop()在取出相应值之后,从字典中删除对应的键值对。
>>> d.get('01') '小明' >>> d.get('04','不存在')#这里指定,如果被查找的不存在,就返回‘不存在’这个字符串 '不存在' >>> d.pop('01') '小明' >>> d.items() dict_items([('02', '小红'), ('03', '小白')])
- d.popitem()随机从字典中取出一个键值对。
>>> print(d.popitem()) ('03', '小白') >>> d
删除键和值
- 此外,如果希望删除字典中某一个元素,可以使用 Python保留字del
> >> d { '01': '小明', '02': '小红'} >>> del d['01'] >>> d
- d.clear() 来删除字典中所有键值对。
练习
根据以上知识,打印字典的键和值:
dictMenu = {'卡布奇洛':32,'摩卡':30,'抹茶蛋糕':28,'布朗尼':26} sum =0 for i in dictMenu.values(): print(i) for i in dictMenu.keys(): print(i) for i in dictMenu.items(): print(i) for i in dictMenu.items(): print(i)
练习
练习1 教学管理系统
>>> #建立一个空字典 s >>> #向字典中添加键值对 张兰:99 >>> #向字典中添加键值对 刘斌 88 >>> #向字典中添加键值对 赵红 90 >>> #删除键值对 赵红 90 >>> #查看刘斌的分数 >>> #修改刘斌的分数为98 >>> #判断张兰的成绩是否在字典s里 >>> #遍历打印全部成绩
练习2 计算餐厅消费
练习:.请补充横线处的代码。dictMenu中存放了你的双人下午套餐(包括咖啡2份和点心2份)的价格,让Python帮忙计算并输出消费总额。
dictMenu = {'卡布奇洛':32,'摩卡':30,'抹茶蛋糕':28,'布朗尼':26} ___①_ _ for i in ____②____: sum += i
练习3 统计学校类型
- 列表 ls 中存储了我国 39 所 985 高校所对应的学校类型,请以这个列表为数据变量,完善 Python 代码,统计输出各类型的数量。
ls = ["综合", "理工", "综合", "综合", "综合", "综合", "综合", "综合", "综合", "综合",\ "师范", "理工", "综合", "理工", "综合", "综合", "综合", "综合", "综合","理工",\ "理工", "理工", "理工", "师范", "综合", "农林", "理工", "综合", "理工", "理工", \ "理工", "综合", "理工", "综合", "综合", "理工", "农林", "民族", "军事"]
输入格式
该题目没有输入
输出格式
按 ls 中默认顺序输出 综合:1 理工:2 师范:3 农林:4 民族:5 军事:6