帮助文档
Init signature: zip(self, /, *args, **kwargs)
Docstring:
zip(*iterables) --> A zip object yielding tuples until an input is exhausted.
list(zip(‘abcdefg’, range(3), range(4)))
[(‘a’, 0, 0), (‘b’, 1, 1), (‘c’, 2, 2)]
The zip object yields n-length tuples, where n is the number of iterables
passed as positional arguments to zip(). The i-th element in every tuple
comes from the i-th iterable argument to zip(). This continues until the
shortest argument is exhausted.
Type: type
Subclasses:
翻译成人话
就是zip()是将多个对象中的元素合并成元组然后放在列表里面,但是必须用list()这个函数显示这个列表
import numpy as np
xarr=np.array([1.1,1.2,1.3,1.4,1.5])
yarr=np.array([2.1,2.2,2.3,2.4,2.5])
cond=np.array([True,False,True,True,False])
list(zip(xarr,yarr,cond))
[(1.1, 2.1, True),
(1.2, 2.2, False),
(1.3, 2.3, True),
(1.4, 2.4, True),
(1.5, 2.5, False)]
如果不用list()结果是这样的
zipped=zip(xarr,yarr,cond)
zipped
<zip at 0x1c58ac99e00>
type(zipped)
zip
补一些用法
1.用法1
zip可以处理任意长度的序列,其生成的列表长度由最短的序列决定。
例子如下
seq1=['foo','bar','baz']
seq2=['one','two','three']
seq3=['False','True']
list(zip(seq1,seq2,seq3))
2.用法2
给定一个已经配对的序列时候,zip函数可以去用作拆分。
例如
a=[('A','B'),('C','D'),('E','F')]
first,last=zip(*a)
first
(‘A’, ‘C’, ‘E’)
last
(‘B’, ‘D’, ‘F’)