主要内容 #
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对列表,元组,及字典的操作 #
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)
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)
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. 小结 #
OJ训练题 #
1、练22.2 欧耶欧耶 – ★
2、【入门】有0的数 – ★
3、【入门】统计4位的回文数 – ★
4、【入门】蝴蝶结 – ★★
5、练33.3 水仙花数 – ★★★