跳至正文
View Categories

< 1 min read

主要内容 #

  • 字典的合并
  • zip解包
  • 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和b
    c = [(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. 小结 #

  • 使用”**”合并两个字典
  • 使用*号操作符,可以将元组列表解包(unpack)为元组
  • OJ训练题 #

    1、练23.3 晶晶赴约会 – ★
    2、【入门】能被2、3、5、7中至少2个数整数的数 – ★
    3、【入门】三位回文数 – ★
    4、【入门】数字矩形(2) – ★★
    5、练36.1 矩阵对角线元素之和 – ★★★