本文实例讲述了Python中zip()函数的定义及用法,相信对于Python初学者有一定的借鉴价值。详情如下:

一、定义:
zip([iterable, ...])
zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表)。若传入参数的长度不等,则返回list的长度和参数中长度最短的对象相同。利用*号操作符,可以将list unzip(解压)。
二、用法示例:
读者看看下面的例子,对zip()函数的基本用法就可以明白了:
>>> a = [1,2,3]
>>> b = [4,5,6]
>>> c = [4,5,6,7,8]
>>> zipped = zip(a,b)
[(1, 4), (2, 5), (3, 6)]
>>> zip(a,c)
[(1, 4), (2, 5), (3, 6)]
>>> zip(*zipped)
[(1, 2, 3), (4, 5, 6)]
对于这个并不是很常用函数,下面举几个例子说明它的用法:
1.二维矩阵变换(矩阵的行列互换)
比如我们有一个由列表描述的二维矩阵
a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
通过python列表推导的方法,我们也能轻易完成这个任务
print [ [row[col] for row in a] for col in range(len(a[0]))]
[[1, 4, 7], [2, 5, 8], [3, 6, 9]]
另外一种让人困惑的方法就是利用zip函数:
>>> a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>> zip(*a)
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
>>> map(list,zip(*a))
[[1, 4, 7], [2, 5, 8], [3, 6, 9]]
这种方法速度更快但也更难以理解,将list看成tuple解压,恰好得到我们“行列互换”的效果,再通过对每个元素应用list()函数,将tuple转换为list
2.以指定概率获取元素
>>> import random
>>> def random_pick(seq,probabilities):
x = random.uniform(0, 1)
cumulative_probability = 0.0
for item, item_probability in zip(seq, probabilities):
cumulative_probability += item_probability
if x < cumulative_probability: break
return item
>>> for i in range(15):
random_pick("abc",[0.1,0.3,0.6])
'c'
'b'
'c'
'c'
'a'
'b'
'c'
'c'
'c'
'a'
'b'
'b'
'c'
'a'
'c'
这个函数有个限制,指定概率的列表必须和元素一一对应,而且和为1,否则这个函数可能不能像预想的那样工作。
这里需要稍微解释下,先利用random.uniform()函数生成一个0-1之间的随机数并复制给x,利用zip()函数将元素和他对应的概率打包成tuple,然后将每个元素的概率进行叠加,直到和大于x终止循环
这样,”a”被选中的概率就是x取值位于0-0.1的概率,同理”b”为0.1-0.4,”c”为0.4-1.0,假设x是在0-1之间平均取值的,显然我们的目的已经达到。
相关推荐:
SEO大量优化:如何通过精准策略提升网站流量,突破搜索引擎排名瓶颈,吕梁本地网站推广平台
ChatGPT+维护页面:您的智能助手之旅,安全、高效、无忧,奥特曼画图ai
360AI写作怎样?助力创作的新风尚,ai到访
SEO做网站点击:提升网站流量的关键策略,国内ai写作论文
seo简报什么意思,seo工作汇报 ,万花筒 ai
用AI写文,开启创作新时代
seo竞价做的什么工作,seo 竞价 ,office智能ai
为什么做seo矩阵项目,为什么做seo矩阵项目不能做 ,怎么用ai写作
AI搜索相似文章怎么做?揭秘高效文章检索的核心技术!,程式ai软件
用AI创作的文章算原创吗?深度背后的逻辑与意义
SEO用户:如何为您的网站带来持续流量和转化,惠州网站推广哪个好
SEO如何做?全方位解析提升网站排名的秘诀,AI翻译好处
ChatGPT错误处理与异常情况解决方法:让你的AI助手更加智能与可靠,智能ai鼠标ai智能语音
SEO教育:搜索引擎优化,开启成功职业之路,搜狗SEO排名接单
seo网站排名优化哪家好,seo网站优化平台 ,ai斗蟋
GPT版本全解:从基础到高级,如何选择最适合你的方案?,韩国ai人工智能
SEO优化需要给网站做哪些优化工作?,ai捕捉火苗
“关键词指白”:揭秘如何通过精准关键词优化实现流量暴增,全面分析网站seo
仿写AI:智能时代的创作革命,洛江区移动房网站推广
ChatGPT安装包Windows版-让智能助手触手可得,q和ai
SEM有哪几个平台?数字营销的多元选择,AI怎么取消移动间距
SEO永远,数字营销的核心力量,广州seo搜索栏内容
企业营销:如何在竞争激烈的市场中脱颖而出,美装网站Seo优化
AI仿写文章:开启内容创作新纪元
360优化关键词-提升网站流量与排名的秘密武器,美拍ai
“洗稿技巧如何让你的文章脱颖而出,轻松提升内容创作水平!”,台州椒江seo企业排名
SEO手段:提升网站流量的制胜法宝,idc网站怎么推广
《收录情况:数字时代的网络信息检索与价值体现》,山东全域营销推广软件客服电话
GoogleGPT-引领未来智能对话的革命,灵境ai画质
seo管理系统是什么,seo网站管理 ,过度圆ai
SEO流程全解析:如何提升网站流量与排名,账号如何营销推广
SEO非常:如何利用SEO提升网站排名与流量,助力品牌快速成长,绥化短视频营销推广
AI网页版本:开启智能时代的新篇章,拼音标调ai
zblog站群,zblog怎么样 ,欧卡2ai汽车如何使用
为什么“搜狗不收录”会成为企业SEO的新挑战?,烤肉店的线下营销与推广
SEO重要性与企业互联网发展的必由之路,互联网营销推广平台设计
ChatGPT页面无法下拉?禁用浏览器扩展,轻松解决!,imba 1.6 ai
从“官网扒下来”看企业数字化转型的未来,摄影营销策略推广文案
GPT-3.5网页版:让你与人工智能零距离接触,ai英语学
SEO关键词是什么意思?全面解析SEO关键字的核心作用,华为ai音箱 百度ai音箱
SEO无限:如何利用SEO技术实现网站流量爆发?,网站建设总监
SEO抓取:让您的网站从零到一的秘诀,佛山网站建设哪家效果好
AI缩短短文-提升创作效率,写作新体验,光速写作业ai写作app
SEO职位:数字营销的核心,开启职业新高峰,汕尾网站建设推广厂商
SEO与网络推广机构:如何选择最适合你的数字营销合作伙伴,ai写作软件性价比高吗
“曝光量扩大,助力品牌腾飞的秘密武器”,盐山网站优化免费咨询
什么是seo运营,什么是seo营销 ,ai绘画沙地
SEO立刻:快速提升网站排名,带你走在搜索引擎前沿,网站建设怎么推广好做
如何识别文章是否由AI写作:技巧与方法解析
ChatGPT页面无法翻阅?带你深度了解背后的原因与解决方案,pdf怎么转换ai文字