Python-zip函数
- zip()
- zip(*zipped)
zip()
zip函数的使用方法很简单,看一个例子就懂了。
a = [1, 2, 3]b = [4, 5, 6]c = [4, 5, 6, 7, 8]a_b_zip = zip(a, b) # 打包为元组的列表,而且元素个数与最短的列表一致print("type of a_b_zip is %s" % type(a_b_zip)) # 输出zip函数的返回对象类型a_b_zip = list(a_b_zip) # 因为zip函数返回一个zip类型对象,所以需要转换为list类型print(a_b_zip)print("------------------------------------------")a_c_zip = zip(a, c)a_c_zip = list(a_c_zip)print(a_c_zip)
运行截图:
ps:zip()函数的返回对象转换成list不是必须的,只是为了方便输出,list输出很直观
zip(*zipped)
zip(*zipped)中的 *zipped参数,可以list数组,也可以是zip()函数返回的对象,还是看一个例子,相信绝大多数的人就明白了。
nums = [['a1', 'a2', 'a3'], ['b1', 'b2', 'b3'], ['c1', 'c2', 'c3']]iterator = zip(*nums) # 参数为list数组时,是压缩数据,相当于zip()函数print("type of iterator is %s" % type(iterator)) # 输出zip(*zipped)函数返回对象的类型iterator = list(iterator) # 因为zip(*zipped)函数返回一个zip类型对象,所以需要转换为list类型print(iterator)print("------------------------------------------")print("a_b_zip :", a_b_zip)print("zip(*a_b_zip) :", list(zip(*a_b_zip)))
运行截图:
ps:zip()函数的返回对象转换成list不是必须的,只是为了方便输出,list输出很直观