首页 python正文

python中zip()函数及zip在for循环中使用的详细介绍

启明SEO python 2021-09-02 10:58:01 364 0 zipfor循环

描述

zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,这样做的好处是节约了不少的内存。


我们可以使用 list() 转换来输出列表。


如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。


a = [1,2,3]

b = [4,5,6]

c = [4,5,6,7,8]

zipped = zip(a,b)

print(zipped)

# 这里打印输出<zip object at 0x0000000001E198C0>

# 强制转化为list输出,看看结果

print(list(zipped))

# [(1, 4), (2, 5), (3, 6)]

# 长度相同,结果如上,那么长度不同呢,下面来看看

zipped=zip(a,c)

print(list(zipped))

# [(1, 4), (2, 5), (3, 6)]

# c中的7和8没有了,这说明元素个数不一致,则按照最短的为标准返回结果

# 在for循环中的用法

for m,n in zip(a,b):

    print("m=%d,n=%d"%(m,n))


# 输出结果

# m=1,n=4

# m=2,n=5

# m=3,n=6

for m,n in zip(a,c):

    print("m=%d,n=%d"%(m,n))


# 输出结果和上面一样

# m=1,n=4

# m=2,n=5

# m=3,n=6

当然,zip的参数可以是2个以上,比如:

for m,n,z in zip(a,b,c):

    print("m=%d,n=%d,z=%d"%(m,n,z))

输出结果则如图:QQ截图20210902105956.jpg

评论

Python好学公众号

好文推荐

实时访客入口页面出现bd_vid=标识是什么原因

实时访客入口页面出现bd_vid=标识是什么原因

最近查看百度实时访客,总是会看到入口页面会多......

有了微信视频号,但是没有发布权限,怎么开通

有了微信视频号,但是没有发布权限,怎么开通

视频号是微信在2020年1月19号开始内测的......

服务器配置低,宝塔面板安装IIS总是安装不上怎么办

服务器配置低,宝塔面板安装IIS总是安装不上怎么办

对于一般企业网站或者博客来说,对服务器的配置......

如何用python抓取爱企查企业信息

如何用python抓取爱企查企业信息

前段时间,经理让我去找一些企业的信息,我平常......

win10下安装MYSQL后,提示Can't connect to MySQL server on localhost (10061)相关问题解决方法

win10下安装MYSQL后,提示Can't connect to MySQL server on localhost (10061)相关问题解决方法

我遇到的问题是电脑原先安装过mysql,卸......

微信通讯录中为何很多人喜欢在名称前加个字母A

微信通讯录中为何很多人喜欢在名称前加个字母A

前几天打开微信通讯录,发现有好几个人都会在自......