跳至正文
View Categories

< 1 min read

主要内容 #

  • zip的定义
  • zip对列表,元组,及字典的操作
  • zip的定义 #

    zip()函数用于将可迭代的对象作为参数,将对象中对应的元素打包(pack)成一个个元组, 然后返回由这些元组组成的列表。 zip()函数定义如下: list1 = zip(iter1, iter2, ……) iter1为一个迭代对象 iter1, iter2, ……为多个迭代对象 功能等价于:
    list1 = []
    for i in range(min(len(iter1),len(iter2)…)):
        list1.append((iter1[i],iter2[i]…))
    给定两个列表a和b,将它们打包的结果存放入一个列表list1中:
    a = [1,2,3,4,5,6]
    b = [2,3,4,5,6,7]
    c = zip(a,b)
    print(c)   #为了减少内存,zip() 返回的是一个对象。
    list1 = list(c)  #如需展示列表,需使用list() 进行转换
    print(list1)
    如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同
    a = [1,2,3,4,5,6]
    b = [2,3,4]
    c = zip(a,b)
    list1 = list(c)  
    print(list1)

    2. zip对列表,元组,及字典的操作 #

  • zip对列表的操作:
  • 给定两个列表a和b,计算他们对应位置相乘的结果。 将结果赋给新的列表list1,并输出list1
    a = [1,2,3,4,5,6]
    b = [2,3,4,5,6,7]
    list1 = [i * j for i, j in zip(a, b)]
    print(list1)
  • zip对元组的操作:
  • 给定两个元组a和b,计算他们对应位置相乘的结果。 将结果赋给新的列表list1,并输出list1
    a = (1,2,3,4,5,6)
    b = (2,3,4,5,6,7)
    list1 = [i * j for i, j in zip(a, b)]
    print(list1)
  • zip对字典的操作:
  • 当直接zip字典变量时,迭代的元素是key值
    a = {1:2, 2:3, 3:4, 4:5, 5:6, 6:7}
    list1 = list(zip(a))
    print(list1)
    如果需要key-value都迭代,则zip的是字典.items()
    a = {1:2, 2:3, 3:4, 4:5, 5:6, 6:7}
    list1 = list(zip(a.items()))
    print(list1)
    如果需要key-value分别迭代,则zip的是字典.keys()和values()
    a = {1:2, 2:3, 3:4, 4:5, 5:6, 6:7}
    list1 = list(zip(a.keys(), a.values()))
    print(list1)

    3. 小结 #

  • zip()函数用于将可迭代的对象作为参数,将对象中对应的元素打包(pack)成一个个元组, 然后返回由这些元组组成的列表
  • zip对列表,元组,及字典的操作
  • OJ训练题 #

    1、练22.2 欧耶欧耶 – ★
    2、【入门】有0的数 – ★
    3、【入门】统计4位的回文数 – ★
    4、【入门】蝴蝶结 – ★★
    5、练33.3 水仙花数 – ★★★