zip函数聚合打包,list和dict进行类型转换

def test_zip():
    """
    zip函数:聚合打包
    a.返回一个 zip 对象
    b.它是元组的迭代器,其中每个传递的迭代器中的第一项配对在一起,然后每个传递的迭代器中的第二项配对在一起等
    c.如果传递的迭代器具有不同的长度,则具有最少项的迭代器决定新迭代器的长度
    d.如果我们不传递任何参数,zip() 返回一个空迭代器
    e.如果传递单个可迭代对象,则 zip() 返回一个元组迭代器,每个元组只有一个元素
    :return:
    """
    s1 = (11, 22, 33, 44, 55)
    s2 = ('a', 'b', 'c', 'd', 'e', 'f', 'g')
    s3 = (111, 222, 333, 444, 555)
    s4 = (1111, 22222)
    res1 = zip(s1, s2)
    print("111", res1)  # 111 <zip object at 0x000002BC1E3FE900>

    val1 = list(res1)  # 嵌套二元元组的列表可以转化为字典
    print("222", val1)  # 222 [(11, 'a'), (22, 'b'), (33, 'c'), (44, 'd'), (55, 'e')]

    val2 = dict(val1)
    print("333", val2)      # 333 {11: 'a', 22: 'b', 33: 'c', 44: 'd', 55: 'e'}
    print(dict(zip(s2, s1)))    # {'a': 11, 'b': 22, 'c': 33, 'd': 44, 'e': 55}
   

    val3 = list(zip(s1, s2, s3, s4))
    print("444", val3)      # 444 [(11, 'a', 111, 1111), (22, 'b', 222, 22222)]


posted @ 2025-09-01 09:17  大海一个人听  阅读(5)  评论(0)    收藏  举报