主要内容 #
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 矩阵对角线元素之和 – ★★★