python中的zip(),帮助文档及解读

帮助文档

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’)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值