广州番禺Python, Java小班周末班培训
薯条老师在广州做Python和Java的小班培训,一个班最多10人,学员的平均就业薪资有11K。不在广州的同学可以报名线上直播班,跟线下小班的同学们同步学习。培训的课程有Python爬虫,Python后端开发,Python办公自动化,Python大数据分析,Python量化投资,Python机器学习,Java中高级后端开发。授课详情请点击:http://chipscoco.com/?cate=6
12.2.1 字典的常用操作方法
字典类型是一种抽象数据类型,抽象数据类型定义了数据类型的操作方法,在本节的内容中,教同学们彻底掌握字典类型的常用操作方法。
字典的常用操作方法,主要有分为四类:字典的查找,字典的修改,字典的添加,字典的删除。
12.2.2 字典的查找
(1) 查找键名是否存在
查找方法:
1. key in dict2. key not in dict
key表示字典的键名,如果键名存在,则返回True,否则返回False。not in 表示是否不存在的意思。
代码实例:
# __desc__ = 通过in操作符,查找键是否存在 # 定义一个字典对象 book = {"name": "108节课彻底学通Python", "author": "薯条老师"} # 查找book中是否存在price的键名,如果存在则返回True if "price" in book: print("there is a key named price in book") # 通过not in 来查找键是否不存在,如果不存在则返回True if "price" not in book: print("there is no key named price in book")(2) 查找键所对应的键值
查找方法:
1. dict[key]key表示字典的键名,如果键名存在,会返回键值,如果键名不存在,则抛出异常。2. dict.get(key, default=None)key表示字典的键名,如果键名存在,会返回键值,如果键名不存在,则返回参数default指定的值。
操作符[]在列表和元组中用来进行索引访问和切片,在字典中,用来进行键值访问,修改键值,添加键值对。
代码实例:
# __desc__ = 通过[]操作符来获取键值 # 定义一个字典对象 book = {"name": "108节课彻底学通Python", "author": "薯条老师"} # 直接通过[]操作符获取键值 price = book["price"] # 在执行上文代码时抛出异常,因为键名"price"并不存在 # 可以先通过in操作来查找键名是否存在,来避免抛出异常 if "price" in book: # 如果存在键名"price",则通过[]操作符获取键值 price = book["price"]字典类型的get方法会先自动判断键名是否存在,避免了键名不存在时的错误异常。
代码实例:
# __desc__ = 通过字典类型的get方法来获取键值 # 定义一个字典对象 book = {"name": "108节课彻底学通Python", "author": "薯条老师"} # 执行get方法时,指定default参数的值为0 # 如果键名不存在,那么会返回在default参数中指定的值 price = book.get("price", 0) # price的输出为0(1) 查找字典的所有键名
操作语法:
dict.keys()字典类型的keys方法返回的是一个dict_keys类型,dict_keys是一个可迭代对象,我们可以在for循环中进行遍历。
代码实例:
# __desc__ = 通过字典类型的keys方法来获取所有键名 # 定义一个字典对象 book = {"name": "108节课彻底学通Python", "author": "薯条老师"} # 在for循环中遍历字典的键值 for name in book.keys(): # name是一个变量,Python会自动将键名赋值给变量name print(book[name]) """程序的输出为: "108节课彻底学通Python" "薯条老师" """
可将dict_keys类型通过显示类型转换,转换为列表或元组类型。例如list(dict_keys)或者tuple(dict_keys)。同学们在进行学习的时候,要多进行发散性思考。
(2) 查找字典中的所有键值
操作语法:
dict.values()字典类型的values方法返回的是一个dict_values类型,dict_values是一个可迭代对象,同样可以在for循环中进行遍历。
代码实例:
# __desc__ = 通过字典类型的values方法来获取所有键值 # 定义一个字典对象 book= {"name": "108节课彻底学通Python", "author": "薯条老师"} # 在for循环中遍历字典的键值 for value in book.values(): # value是一个变量,Python会自动将键值赋值给变量value print(value) """程序的输出为: "108节课彻底学通Python" "薯条老师" """(5) 查找字典的所有键值对
在字典类型的keys与values方法中,只能单独地获取键名或键值。想必同学们会有这样的疑问,可不可以一次性获取键名和键值?
通过字典类型的items方法,可以返回字典中的键值对。字典类型的items方法返回的是一个dict_items类型。dict_items是一个可迭代对象,现在编写一段代码,在for循环中同时获取键名和键值。
代码实例:
# __desc__ = 通过字典类型的items方法来获取键值对 # 定义一个字典对象 book = {"name": "108节课彻底学通Python", "author": "薯条老师"} # 同学们须注意遍历键名与键值的语法 for name, value in book.items(): print(name, "-->", value) """程序的输出为: name-->108节课彻底学通Python author-->薯条老师 """
12.2.3 字典的修改
Python中字典的键是只读的,修改的是键名对应的键值。
(1) 修改字典的键值
操作语法:
dict[key] = valuekey表示键名,value表示键值。键名不存在时,会插入新的键值对。
代码实例:
"""
12.2.4 字典的添加
(1) 操作符:[]
操作语法:
dict[new_key] = valuenew_key表示新的键名,value表示键值。
代码实例:
# __desc__ = 通过操作符[]来添加新的键值对 # 定义一个空的字典对象 book = {} book["author"] = "薯条老师" # book的输出为{'author': '薯条老师'}(2) dict.setdefault(key, default=None)
参数key表示键名,如果键存在,会返回键所对应的键值,否则添加一个新的键值对。通过参数default来指定新键的键值,返回值为键名所对应的键值,如果未指定键值,则返回值为None。
代码实例:
# __desc__ = 通过setdefault方法来添加新的键值对 # 定义一个空的字典对象 book = {} # 未通过default参数指定键值 returned_value = book.setdefault("author") # returned_value的值为None # book的输出为{'author': None} # 通过default参数指定键值 returned_value = book.setdefault("price", 66) # returned_value的值为66 # book的输出为{'author': None, 'price': 66}(3)dict.update(iterable)
iterable表示可迭代对象,传递的参数主要为字典类型,列表类型,元组类型,无返回值。通过字典对象来更新字典时,如果键名存在,则字典对象中键名的键值被更新为新的键值,如果键名不存在,添加新的键值对。通过列表,元组来更新字典时,列表/元组是二维的结构,具体可看代码实例。
代码实例:
# __desc__ = 通过setdefault方法来添加新的键值对 # 定义一个空的字典对象book = {} # 通过字典来更新字典 book.update({"name": "108节课彻底学通Python", "author": "薯条橙子"}) """ book的输出为: {"name": "108节课彻底学通Python", "author": "薯条橙子"} """ # 通过列表或元组来更新字典时,列表与元组是一个二维的结构 # Python会将元组中的第一个元素作为键名,第二个元素作为键值 # 元组中只存在一个数据项时,不要遗漏逗号 book.update((("price", 69),)) """ book的输出为: {"name": "108节课彻底学通Python", "author": "薯条橙子", "price": 69} """
12.2.5 字典的删除
(1) dict.pop(key)
pop方法用来删除指定的键,待删除的键必须存在于字典对象中,否则会抛出键名不存在的错误异常,返回值为键名对应的键值。
代码实例:
# __desc__ = 通过pop方法来删除键 book = {"name": "108节课彻底学通Python", "author": "薯条老师"} # 删除键时,可以先通过in操作符来判断键名是否存在 if "price" in book: # 如果存在price键,就执行pop方法来删除 # 返回值为键名所对应的键值 price = book.pop("price")(2) dict.popitem()
popitem方法用来删除字典中的键值对,默认删除字典末尾的键值对。方法的返回值为一个元组,元组的第一个元素为键名,第二个元素为键值。
代码实例:
# __desc__ = 通过popitem方法来删除键值对 book = {"name": "108节课彻底学通Python", "author": "薯条老师"} # popitem方法的返回值为元组类型 item = book.popitem() # 元组的第一个元素为键名,第二个元素为键值 # 可通过索引来进行访问, 索引编号为0的是键名,编号为1的是键值 name = item[0] value = item[1] # 也可以利用元组的自动解包来赋值 name, value = item(3) dict.clear()
通过字典类型的clear方法来一键删除字典中的所有键,无返回值
代码实例:
# __desc__ = 通过clear方法来清空字典 book = {"name": "108节课彻底学通Python", "author": "薯条老师"} # 执行clear方法来清空字典book.clear() # 执行clear方法后,book的输出为{}
12.2.6 知识要点
(1) 字典的常用操作方法,主要有分为四类:字典的查找,字典的修改,字典的添加,字典的删除。(2) 字操作符[]在列表和元组中用来进行索引访问和切片,在字典中,用来进行键值访问,修改键值,添加键值对。
12.2.7 最具实力的小班培训
薯条老师在广州做Python和Java的小班培训,一个班最多10人。不在广州的同学可以报名线上直播班,跟线下小班的同学们同步学习。打算参加小班培训的同学,必须遵守薯条老师的学习安排,认真做作业和项目。把知识学好,学扎实,那么找到一份高薪的工作就是很简单的一件事。
(1) Python后端工程师高薪就业班,月薪11K-18K,免费领取课程大纲
(2) Python爬虫工程师高薪就业班,年薪十五万,免费领取课程大纲
(3) Java后端开发工程师高薪就业班,月薪11K-20K, 免费领取课程大纲
(4) Python大数据分析,量化投资就业班,月薪12K-25K,免费领取课程大纲
扫码免费领取Python学习资料:
已有2位薯条发表了看法:
访客 评论于 2020-12-02 16:01:26 回复
查找字典的所有键值对的代码示例中,for key, value in book.values():应该是for key, value in book.items():
薯条老师 评论于 2020-12-07 21:15:10 回复
已修改,谢谢