Elite-Wang

zip(*iterables)

zip可以将多个可迭代对象组合成一个迭代器对象,通过迭代取值,可以得到n个长度为m的元组。其中n为长度最短可迭代对象的元素个数,m为可迭代对象的个数。并且每个元组的第i个元素都来自于第i个可迭代对象。

举例:

In [1]: a = zip((1,2,3),[4,5,6,7],"abcd",range(5)) #创建一个zip对象,传入了4个不同类型的可迭代对象,最小长度为3

In [2]: print(a)
<zip object at 0x7f56da58d600>

In [3]: next(a)
Out[3]: (1, 4, 'a', 0)

In [4]: next(a)
Out[4]: (2, 5, 'b', 1)

In [5]: next(a)
Out[5]: (3, 6, 'c', 2)

In [6]: next(a) #通过迭代取值,只能取出3个(长队最短可迭代对象(1,2,3)的元素个数)长度为4(可迭代对象的个数)的元组
---------------------------------------------------------------------------
StopIteration                             Traceback (most recent call last)
<ipython-input-6-15841f3f11d4> in <module>
----> 1 next(a)

StopIteration: 

In [7]: a = zip((1,2,3),[4,5,6,7],"abcd",range(5))

In [8]: list(a) #通过列表的形式,更直观的看到迭代结果是3个长度为4的元组,并且每个元组中的第i个元素都来自于第i个可迭代对象,比如第1个元素都来自于(1,2,3)
Out[8]: [(1, 4, 'a', 0), (2, 5, 'b', 1), (3, 6, 'c', 2)]

 

分类:

python

技术点:

相关文章:

  • 2021-11-30
  • 2021-09-10
  • 2019-01-19
  • 2021-08-13
  • 2021-09-14
  • 2021-11-21
  • 2021-10-04
  • 2021-10-04
猜你喜欢
  • 2021-10-08
  • 2021-10-10
  • 2021-08-13
  • 2018-04-17
  • 2021-08-06
  • 2021-10-08
  • 2021-09-10
相关资源
相似解决方案