首页 > 技术文章 > [Tips] python zip使用

immortalBlog 2020-03-15 23:43 原文

可通过zip两个可以iterable的对象并列输出。常用的做法是将两个list的元素对位组成元组输出:

a=[1,2,3]
b=[4,5,6]
c=list(zip(a,b))

#====
c的内容是
[(1,4), (2,5),(3,6)]

  

同理和一逆转这个过程:d=list(zip(*c))


#======
d的内容是
[(1, 2, 3), (4, 5, 6)]

  

如果想要给zip出来的结果加上一个序号的话,可以使用enumerate,用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据的下标,一般用在for循环当中,可同时得到数据对象的值及对应的索引值。

>>> aa=[1,2,3]
>>> bb=[4,5,6]
>>> list(zip(aa,bb))
[(1, 4), (2, 5), (3, 6)]
>>> list(enumerate(zip(aa,bb)))
[(0, (1, 4)), (1, (2, 5)), (2, (3, 6))]
>>>

  

推荐阅读