千锋教育-做有情怀、有良心、有品质的职业教育机构

Python 中 zip 函数的用法

来源:千锋教育
发布时间:2023-11-06 02:33:56
分享

zip()接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple,然后返回由这些tuple组成的list。

若传入参数的长度不等,则返回list的长度和参数中长度最短的对象相同。

利用*号操作符,可以将list解压。

python3.0开始,zip()函数已经不返回list了,而是返回iterable(可迭代对象)。这个可迭代对象需要特别注意,只能进行一次迭代遍历,第二次遍历就是空了。这个坑了我一个多小时。

#简单示例

a=[1,2,3]

b=[4,5,6]

c=[7,8,9,10,11]

ab=zip(a,b)

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

#zip()之后的结果只能“使用一次”

#zip()实际上是一个生成器对象,故使用list()获取zip()结果时,已经相当于是完成一次迭代遍历

#第二次再次使用list()时迭代已经结束,所以返回[]

print(list(ab))#[]

ac=zip(a,c)

#print(list(ac))#[(1,4),(2,5),(3,6)],以短的为准

_ac=zip(*ac)#与zip相反,可理解为解压,返回二维矩阵式

print(list(_ac))#[(1,2,3),(7,8,9)],如果没把上面的print(list(ac))注掉,这里的显示结果就是[]了

#应用示例一

print('应用示例一')

name=('jack','alex','sony','joey')

age=(25,28,21,30)

fora,ninzip(name,age):

print(a,n)

#应用示例二:二维矩阵行列转换

print('应用示例二')

a=[[1,2,3],[4,5,6],[7,8,9]]

print(list(map(list,zip(*a))))#[[1,4,7],[2,5,8],[3,6,9]],map()函数把zip(*a)后的每一个元素转化为list

以上内容为大家介绍了Python中zip函数的用法,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。https://www.mobiletrain.org/

声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • Python编程中3个常用的数据结构和算法 python内置了许多非常有用的数据结构,比如列表(list)、集合(set)以及字典(dictionary)。就绝大部分情况而言,我们可以直接使用这些数据结构。但是,通常我们还需要考虑比如搜索、排序
  • 开发人员常用Python开发工具 Python编程开发是目前最热门的行业之一,Python无论是从人才需求和未来发展前景,都是一门值得学习和掌握的开发语言,对于Python开发者人员来说,需要了解一些常用的Python开发工具。1.P
  • Python 中如何实现参数化测试? 之前,我曾转过一个单元测试框架系列的文章,里面介绍了unittest、nose/nose2与pytest这三个最受人欢迎的Python测试框架。本文想针对测试中一种很常见的测试场景,即参数化测试,继续
  • 数据科学中必须了解的Python核心库 python有三个核心数据科学库,在此基础上还创建了许多其他的库。这三个核心数据科学库分别为:NumpyScipyMatplotlib简单起见,可以把Numpy视为首选数组。Numpy数组在许多方面都
  • Python集合和时间复杂度 在本文的这一部分中,我将记录CPython中的常见集合,然后概述它们的时间复杂性。我将特别关注平均情况。1.ListList是迄今为止Python中最重要的数据结构之一。我们可以将列表用作堆栈(添加的
  • 机器学习选择python的原因 Python程序语言与机器学习实践可以称得上是“珠联璧合”。1.Python是解释语言,程序写起来非常方便写程序方便对做机器学习的人很重要。因为经常需要对模型进行各种各样的修改,这在编译语言里很可能是