立即学习:https://edu.csdn.net/course/play/24797/282166?utm_source=blogtoedu
——字典高级用法
——本节目标
1. 字典常用方法 (重点)
2. 使用字典格式化字符串
——字典的常用方法(上)
• 调用dir(dict)可查看字典的所有方法
• clear()用于清空字典中所有key-value对
• get()方法其实就是根据key来获取value
• update()方法可使用一个字典所包含的key-value对来更新已有的字典
例如:
# coding: utf-8
####################################
# 文件名称:dict_method.py
# 功能描述:字典字典的常用方法
# 编写日期:2020-04-29
# 编写人员:
####################################
scores = {'语文' : 86 , '数学' : 92 , '英语' : 91}
# 用一个字典(字典,序列、关键字参数)来更新原有的字典
# 对于已有的key,就是更新value;对于不存在的key,就是添加key-values
scores.update('语文' : 89 , '生物' : 91)
print(scores)
# 使用序列作为参数,此时序列的每个元素都只能有2个元素,第一个元素是key,第二个元素是value
scores.update([('语文' , 80) , ('物理' , 93)])
print(scores)
# 使用关键字参数,不支持用表达式
scores.update(语文 = 80 , 化学 = 93)
print(scores)
• items()、keys()、values()分别用于获取字典中所有key-value对,所有key、所有value
例如:
# coding: utf-8
####################################
# 文件名称:iterate-dict.py
# 功能描述:遍历字典
# 编写日期:2020-04-29
# 编写人员:
####################################
scores = {'语文' : 86 , '数学' : 92 , '英语' : 91}
# 遍历key
for key in scores.keys() :
print(key)
# 遍历value
for value in scores.values() :
print(value)
# 遍历key,value(序列解包)
for key , value in scores.items() :
print(key , value)
——字典的常用方法(下)
• 调用dir(dict)可查看字典的所有方法
• pop()方法用于获取、并删除指定key对应的value。
• popitem()方法用于随机地弹出字典中一个key-value对。
• setdefault()方法也用于根据key来获取对应value的值,并为不存在的key设置默认值
例如:
####################################
# 文件名称:dict2.py
# 功能描述:字典的常用方法-setdefault()方法
# 编写日期:2020-04-29
# 编写人员:
####################################
scores = {'语文' : 86 , '数学' : 92 , '英语' : 91}
# setdefault用于获取指定key对应的value
print(scores.setdefault('语文' , 60))
# setdefault如果获取的key不存在时,该方法会为该key设置value
print(scores.setdefault('生物' , 60))
print(scores)
• fromkeys()方法使用给定的多个key创建字典,这些key对应的value默认都是None;也可以额外传入一个参数作为默认的value。
例如:
####################################
# 文件名称:fromkeys.py
# 功能描述:字典的常用方法-fromkeys()方法
# 编写日期:2020-04-29
# 编写人员:
####################################
# fromkeys方法可将序列转换成字典(使用固定的值作为value)
sc = dict.fromkeys(['语文' , '数学' , '英语'])
print(sc)
sc2 = dict.fromkeys(['语文' , '数学' , '英语'] , 60)
print(sc2)
——用字典格式化字符串
• 可在字符串模板中按key指定变量,然后通过字典为字符串模板中key设置值。
例如:
####################################
# 文件名称:str_format.py
# 功能描述:用字典格式化字符串
# 编写日期:2020-04-29
# 编写人员:
####################################
s1 = '图书名: %s , 价格: %10.2f' ;
# 用元组来格式化字符串,所以它根据位置来填充“占位符”
print(s1 % ("疯狂Python讲义" , 128))
s2 = '图书名: %(name)s , 价格: %(price)10.2f' ;
# 用dict来格式化字符串,所以它根据key来填充“占位符”
print(s2 % {'price' : 128 , 'name' : "疯狂Python讲义"})
——本节小结
1. 字典常用方法的作用和用法
2. 利用字典来格式化字符串