Python-zip函数
zip()
zip函数的使用方法很简单,看一个例子就懂了。
a = [1, 2, 3] b = [4, 5, 6] c = [4, 5, 6, 7, 8]
a_b_zip <span class="token operator">=</span> <span class="token builtin">zip</span><span class="token punctuation">(</span>a<span class="token punctuation">,</span> b<span class="token punctuation">)</span> <span class="token comment"># 打包为元组的列表,而且元素个数与最短的列表一致</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">"type of a_b_zip is %s"</span> <span class="token operator">%</span> <span class="token builtin">type</span><span class="token punctuation">(</span>a_b_zip<span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token comment"># 输出zip函数的返回对象类型</span> a_b_zip <span class="token operator">=</span> <span class="token builtin">list</span><span class="token punctuation">(</span>a_b_zip<span class="token punctuation">)</span> <span class="token comment"># 因为zip函数返回一个zip类型对象,所以需要转换为list类型</span> <span class="token keyword">print</span><span class="token punctuation">(</span>a_b_zip<span class="token punctuation">)</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">"------------------------------------------"</span><span class="token punctuation">)</span> a_c_zip <span class="token operator">=</span> <span class="token builtin">zip</span><span class="token punctuation">(</span>a<span class="token punctuation">,</span> c<span class="token punctuation">)</span> a_c_zip <span class="token operator">=</span> <span class="token builtin">list</span><span class="token punctuation">(</span>a_c_zip<span class="token punctuation">)</span> <span class="token keyword">print</span><span class="token punctuation">(</span>a_c_zip<span class="token punctuation">)</span>
-
运行截图:
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输出很直观
-