主要内容 #
1. 字典的合并 #
字典的合并,即将两个字典合并成一个字典,常规方法如下:dict1 = {"a": 1, "b": 2} dict2 = {"b": 3, "c": 3, "d":4} dict3 = dict() for key, value in dict1.items(): dict3[key] = value for key, value in dict2.items(): dict3[key] = value print(dict3)更加简便的做法是使用”**”合并字典 首先,一个*号的作用是提取字典的键值,然后组成一个集合(集合在第65课详解),比如:
dict1 = {"a": 1, "b": 2} dict2 = {"b": 3, "c": 3, "d":4} s1 = {*dict1} print(s1) s2 = {*dict2} print(s2)两个*号的作用是提取字典的键值对,然后组成一个字典,比如:
dict1 = {"a": 1, "b": 2} dict2 = {"b": 3, "c": 3, "d":4} dict3 = {**dict1} print(dict3) dict4 = {**dict2} print(dict4)合并两个字典,可以使用以下方法:
dict1 = {"a": 1, "b": 2} dict2 = {"b": 3, "c": 3, "d":4} dict3 = {**dict1, **dict2} print(dict3)
2. zip解包 #
使用*号操作符,可以将元组列表解包(unpack)为元组 格式如下: list1 = zip(*元组列表) 功能:将一个已经打包好的元组列表解包,元组元素对应位置放置在一个元组中,最终保存在新的元组里 例如: 给定一个列表 c = [(1,2),(2,3),(3,4),(4,5),(5,6),(6,7)] 将其解包,赋值给a和bc = [(1,2),(2,3),(3,4),(4,5),(5,6),(6,7)] a, b = zip(*c) print(a) print(b)给定两个列表 a = [1,2,3,4,5,6], b = [2,3,4,5,6,7] 将其打包成c,再解包成a1和b1。 观察a和a1,b和b1的区别,即可发现, 解包后的元素都是元组,即不管是列表,元组,甚至是字典的打包后的解包,都保存在元组中。
a = [1,2,3,4,5,6] b = [2,3,4,5,6,7] c = zip(a, b) a1, b1 = zip(*c) print(a1) print(b1)
3. 小结 #
OJ训练题 #
1、练23.3 晶晶赴约会 – ★
2、【入门】能被2、3、5、7中至少2个数整数的数 – ★
3、【入门】三位回文数 – ★
4、【入门】数字矩形(2) – ★★
5、练36.1 矩阵对角线元素之和 – ★★★