zip()
函數,其實看help(zip)
便可python
| Return azip
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 shortestiterable
in the argument sequence
| is exhausted and then it raisesStopIteration
.
返回一個zip
對象,其.__ next __()
方法返回一個元組,其中第 i 個元素分別來自各可迭代對象的第 i 個參數。.__ next __()
方法一直持續到參數序列中最短的iterable
(可迭代對象)耗盡,而後它拋出StopIteration
。函數
翻譯成正經話就是:zip()
函數將可迭代的對象做爲參數,將對象中對應的元素打包成一個個元組,而後返回由這些元組組成的列表。
若是各個迭代器的元素個數不一致,則返回列表長度與最短的對象相同,利用 *
號操做符,能夠將元組解壓爲列表。翻譯
注:zip
方法在Python2
和Python3
中的不一樣:在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}