精华内容
下载资源
问答
  • python中zip()函数的用法
    万次阅读 多人点赞
    2020-12-10 11:31:31

    博友们,你们好,很高兴能在这里和大家分享技术文章,我是 Amo Xiang,是一名在职企业员工,Amo 来源于上家公司的英文名,本意是 。作为刚入行几年互联网行业的小白,博主写博客一方面是为了记录自己的学习过程以及所犯的错误,更多的是希望能够帮助到很多处于起步阶段的萌新,让他们少走弯路。在编写文章时,参考了大量书籍及一些互联网大佬的资源,并结合了自己的工作经验,博主本着科学、严谨的态度、力求精益求精,但疏漏之处在所难免,敬请广大博友批评指正。博客主页:https://blog.csdn.net/xw1680?spm=1011.2124.3001.5113

    更多相关内容
  • Python中zip函数用法

    千次阅读 2021-03-17 17:21:10
    看openstack的代码,遇到一个内建函数zip不明白其意思:# Adjust the weights in the grid by the functions weight adjustment# and sum them up to get a final list of weights.adjusted_scores = []for (weight,...

    看openstack的代码,遇到一个内建函数zip不明白其意思:

    # Adjust the weights in the grid by the functions weight adjustment

    # and sum them up to get a final list of weights.

    adjusted_scores = []

    for (weight, fn), row in zip(weighted_fns, scores):

    adjusted_scores.append([weight * score for score in row])

    有一个简单易懂的例子,有2个列表A,B,A存了班级里的人的名字,B是每个人的考试分数,你需要通过某个人的名字来查考试分数,那你需要一个字典,zip可以很方便地帮你建立字典:

    >>> x=['bob','tom','kitty']

    >>> y=[80,90,95]

    >>>d=dict(zip(x,y))

    [('bob', 80), ('tom', 90), ('kitty', 95)]

    zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表)。若传入参数的长度不等,则返回list的长度和参数中长度最短的对象相同。利用*号操作符,可以将list unzip(解压),看下面的例子就明白了: >>> 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)]

    对于这个并不是很常用函数,下面举几个例子说明它的用法:

    * 二维矩阵变换(矩阵的行列互换)

    比如我们有一个由列表描述的二维矩阵

    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]]

    zip函数接受任意多个序列作为参数,将所有序列按相同的索引组合成一个元素是各个序列合并成的tuple的新序列,新的序列的长度以参数中最短的序列为准。另外(*)操作符与zip函数配合可以实现与zip相反的功能,即将合并的序列拆成多个tuple。

    ①tuple的新序列

    >>>>x=[1,2,3],y=['a','b','c']

    >>>zip(x,y)

    [(1,'a'),(2,'b'),(3,'c')]

    ②新的序列的长度以参数中最短的序列为准.

    >>>>x=[1,2],y=['a','b','c']

    >>>zip(x,y)

    [(1,'a'),(2,'b')]

    ③(*)操作符与zip函数配合可以实现与zip相反的功能,即将合并的序列拆成多个tuple。

    >>>>x=[1,2,3],y=['a','b','c']

    >>>>zip(*zip(x,y))

    [(1,2,3),('a','b','c')]

    参考文献:

    http://blog.sina.com.cn/s/blog_7ae1b8300100x05p.html

    http://zhidao.baidu.com/question/403657760.html

    展开全文
  • zip() 函数用于将可迭代的对象作为参数,将对象对应的元素打包成一个个元组,然后返回由这些元组组成的列表。 ps. 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组...
  • Python教程:zip 函数用法

    千次阅读 2022-03-08 14:58:09
    Python3.0开始,zip()函数已经不返回 list 了,而是返回 iterable(可迭代对象)。这个可迭代对象需要特别注意,只能进行一次迭代遍历,第二次遍历就是空了。这个坑了我一个多小时。 简单示例 a = [1, 2, 3] b = [4,

    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)) 注掉,这里的显示结果就是[]了
    

    应用示例 一

    '''
    学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:725638078
    寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
    '''
    print('应用示例一')
    name = ('jack', 'alex', 'sony', 'joey')
    age = (25, 28, 21, 30)
    for a, n in zip(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
    
    展开全文
  • 展开全部zip() 功能是从参数的多个迭代器62616964757a...元组、列表、字典等迭代器它返回一个zip对象,其内部元素为元组,一组一组的,可以转化为列表或元组,这里要强调一下,Python2和Python3返回的zi...

    展开全部

    resize,m_lfit,w_600,h_800,limit_1

    zip() 功能是从参数的多个迭代器中62616964757a686964616fe59b9ee7ad9431333365653163选取元素组合成一个新的迭代器。顾名思义,它就是一个将对象进行打包和解包的函数。

    它可以传入的参数包括;元组、列表、字典等迭代器

    它返回一个zip对象,其内部元素为元组,一组一组的,可以转化为列表或元组,这里要强调一下,Python2和Python3中返回的zip对象有所不同。

    Python3中zip()函数再不再返回list对象,但是可以通过list强行转换。(类似的函数变化还有dictionary关联的keys()、values()、items(),map(),filter())。

    打包zip(iterables)

    上面的代码使用的环境是Python3.6,其中list (z)操作就是强制转换。注意一个问题,a和b这两个列表是不同长短的,这时候zip函数就会匹配完最短的那个便结束。

    当zip函数的参数只有一个时,它将从iterable中依次取一个元素,组成一个元组。

    解包zip(*iterables)

    解包,zip 相反,可理解为解压,返回多维矩阵形式,有几个组元素就返回几维的。

    比如,下面我是用三个列表组合起来的迭代式,那么解压后就返回三维的矩阵

    zip高级用法

    讲完了基本的再来说一下该函数的高级用法。高级用法离不开一个词:Pythonic,就是将代码写的更优雅美观,看起来有逼格!

    1. 列表推导

    例如:

    a = [1,2,3,4]

    b = [5,6,7,8]

    我们要同时遍历a、b,且要对它们进行操作,那就要放在同一个for循环内,zip函数正好合适

    注意:如果是Python2环境中,要使用izip才能提高效率。

    当然,如果你需要对下标进行操作,那么还需要加上enumerate函数

    2. 使用zip创建键值对,zip方法返回的是一个元组,用它来创建键值对,简单明了。

    展开全文
  • 本文实例讲述了Python中zip()函数的定义及用法,相信对于Python初学者有一定的借鉴价值。详情如下: 一、定义: zip([iterable, …]) zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象对应...
  • python中zip函数返回一个以元组为...在Python中使用zip函数,出现<zip>错误的原因是,你是用的是python2点多的版本,python3.0对python做了改动 zip方法Python 2 和Python 3的不同 为何有这种不同 更多注解 问题
  • Python zip函数用法

    2022-03-24 12:28:50
    Python zip函数用法 zip() 函数是 Python 内置函数之一,它可以将多个序列(列表、元组、字典、集合、字符串以及 range() 区间构成的列表)“压缩”成一个 zip 对象。所谓“压缩”,其实就是将这些序列对应位置...
  • zip函数接受任意多个可迭代对象作为参数,将对象对应的元素打包成一个tuple,然后返回一个可迭代的zip对象.这个可迭代对象可以使用循环的方式列出其元素,若多个可迭代对象的长度不一致,则所返回的列表与长度最短的可...
  • 今天小编就为大家分享一篇对Pythonzip函数妙用,旋转矩阵详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 主要给大家介绍了关于Python中zip()函数的简单用法,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
  • zip函数用于同时遍历多个迭代器。 一、range 函数 range函数可创建一个整数列表,一般用在 for 循环。 语法: range([start,] stop[, step]) 参数: start: 计数从 start 开始。默认是从 0 开始。例如range(5)...
  • python中zip()函数用法举例 定义:zip([iterable, …])  zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表)...
  • Python zip()函数用法实例分析

    千次阅读 2021-02-03 10:13:57
    本文实例讲述了python zip()函数用法。分享给大家供大家参考,具体如下:这里介绍python中zip()函数的使用: >>> help(zip)Help on built-in function zip in module __builtin__:zip(...)zip(seq1 [, seq2...
  • python zip 内置函数使用

    千次阅读 2020-12-16 00:36:22
    定义:zip([iterable, ...])zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表)。若传入参数的长度不等,则返回...
  • 共 1 个关于“Python中zip函数怎么用”精选答案码小辫推荐于:2020-06-17zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表。直接看示例:1.示例1:代码如下:x=[1,2,3]y=[4,5,6]z=[7,8,9]xyz=zip...
  • python zip() 函数用法

    2022-05-11 23:45:44
    python 多个列表对应位置元素求和...在 python2zip()函数直接返回一个包含元组的列表。 而在 python3zip()函数返回的是一个对象。需要用 list()或tuple()把这个对象转成列表或元组。 比如在 python3.7
  • python zip()函数详解

    千次阅读 2021-12-03 16:42:04
    zip() 函数python内置函数之一,可以将多个序列(列表,元组,字典,字符串以及range()区间构成的列表)压缩成一个zip对象,就是将这些序列对应的位置元素重新组合生成一个个新的元组 zip() 函数的语法格式为: zip...
  • zip() 函数可以把两个列表“压缩”成一个 zip 对象(可迭代对象),这样就可以使用一个循环并行遍历两个列表。为了测试 zip() 函数的功能,我们可以先在交互式解释器“试验”一下该函数的功能。>>> a = ['a','b','...
  • Python内置函数zip()函数详解

    千次阅读 多人点赞 2022-04-16 19:32:48
    功能:zip 函数是可以接收多个可迭代对象,然后把每个可迭代对象的第i个元素组合在一起,形成一个新的迭代器,类型为元组。 参数:*iterables,任意个的可迭代对象 返回值:返回一个元组的迭代器 a=[1,2,3] b=...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 70,648
精华内容 28,259
关键字:

python中zip()函数的用法