簡單瞅瞅Python zip()函數

zip()函數,其實看help(zip)便可python

| Return a zip object whose .__next__() method returns a tuple where
| the i-th element comes from the i-th iterable argument. The .__next__()
| method continues until the shortest iterable in the argument sequence
| is exhausted and then it raises StopIteration.

返回一個zip對象,其.__ next __()方法返回一個元組,其中第 i 個元素分別來自各可迭代對象的第 i 個參數。.__ next __()方法一直持續到參數序列中最短的iterable(可迭代對象)耗盡,而後它拋出StopIteration函數

翻譯成正經話就是:
zip()函數將可迭代的對象做爲參數,將對象中對應的元素打包成一個個元組,而後返回由這些元組組成的列表。
若是各個迭代器的元素個數不一致,則返回列表長度與最短的對象相同,利用 * 號操做符,能夠將元組解壓爲列表。翻譯

注:zip方法在Python2Python3中的不一樣:在Python 3.x中爲了減小內存,zip()返回的是一個對象。如需轉換爲列表,需使用內置函數list()轉換。code

這裏簡單列一下zip()函數的例子:對象

>>> dict([(1, 4), (2, 5), (3, 6)])
{1: 4, 2: 5, 3: 6}
>>> a = [1,2,3]
>>> b = [4,5,6]
>>> c = [4,5,6,7,8]
>>> zip(a,b)
<zip object at 0x7f6bd7e7b648>
>>> for i in zip(a,b):
    print(i)

(1, 4)
(2, 5)
(3, 6)
>>> list(zip(a,c))    # 打包爲元組的列表,元素個數與最短的列表一致
[(1, 4), (2, 5), (3, 6)]
>>> dict(zip(a, c))   # 也能夠轉換爲字典
{1: 4, 2: 5, 3: 6}
相關文章
相關標籤/搜索