Beginner’s Guide to the zip() function in Python3

  • 时间:2020-09-21 09:15:21
  • 分类:网络文摘
  • 阅读:128 次

The zip function in Python 3 takes two parameters, and generate an iterator that contains tuples. Each tuple takes a value from each input – which can be tuples or arrays. It can be illustrated as follows:

python3-zip-function Beginner's Guide to the zip() function in Python3 python

python3-zip-function

Python3 zipping two tuples

In Python2, the zip function will return all the zipped-elements in an array while in Python3, the zip function will returns an iterator – saving memory. For example,

1
2
3
4
a = (1, 2, 3)
b = (4, 5, 6)
zip(a, b) # <zip object at 0x7ff81cb770c8>
list(zip(a, b)) # [(1, 4), (2, 5), (3, 6)]
a = (1, 2, 3)
b = (4, 5, 6)
zip(a, b) # <zip object at 0x7ff81cb770c8>
list(zip(a, b)) # [(1, 4), (2, 5), (3, 6)]

As you can see in this example, the source inputs can be tuples as well. You can mix-and-match and the result is always an iterator. Then you can easily convert the iterator to array using list() or to set using the set().

zipping takes minimal length

If both inputs are of different sizes, the zip function will only zip the minimal length of both. For example,

1
2
3
4
a = (1, 2, 3, 4)
b = (4, 5, 6)
zip(a, b) # <zip object at 0x7abcdcb770c8>
set(zip(a, b)) # {(1, 4), (2, 5), (3, 6)}
a = (1, 2, 3, 4)
b = (4, 5, 6)
zip(a, b) # <zip object at 0x7abcdcb770c8>
set(zip(a, b)) # {(1, 4), (2, 5), (3, 6)}

zip nested elements

The zip function can take nested inputs as well, for example:

1
2
3
a=[(1,2),(3,4)]
b=[(5,6),(7,8)]
list(zip(a,b)) # produces [((1, 2), (5, 6)), ((3, 4), (7, 8))]
a=[(1,2),(3,4)]
b=[(5,6),(7,8)]
list(zip(a,b)) # produces [((1, 2), (5, 6)), ((3, 4), (7, 8))]

You can use the zip() function to achieve something similar of what the enumerate() does in Python.

–EOF (The Ultimate Computing & Technology Blog) —

推荐阅读:
这根绳子一共被剪成多少段  扇形和半圆有重叠部分  为wordpress新建一个登录页面  wordpress自动显示图片exif信息插件-Display Exif  为wordpress设置一个简单的后台登陆地址  免插件自动生成wordpress文章二维码图片  wordpress主题更新style.css样式表文件后不生效的解决方法  如何在WordPress文章末尾自动添加作者简介  如何让WordPress分类归档排除子分类文章  如何让WordPress显示即将发布的文章列表 
评论列表
添加评论