美文网首页
学习Python的zip函数

学习Python的zip函数

作者: 龙皓晨 | 来源:发表于2018-08-10 14:29 被阅读0次

zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表。具体意思不好用文字来表述,直接看示例:

1.示例1:

x = [1, 2, 3]

y = [4, 5, 6]

z = [7, 8, 9]

xyz = zip(x, y, z)

print xyz

运行的结果是:

[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

从这个结果可以看出zip函数的基本运作方式。

2.示例2:

x = [1, 2, 3]
y = [4, 5, 6, 7]
xy = zip(x, y)
print xy
运行的结果是:

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

从这个结果可以看出zip函数的长度处理方式。

3.示例3:

x = [1, 2, 3]
x = zip(x)
print x
运行的结果是:

[(1,), (2,), (3,)]

从这个结果可以看出zip函数在只有一个参数时运作的方式。

4.示例4:

x = zip()
print x

运行的结果是:

[]

从这个结果可以看出zip函数在没有参数时运作的方式。

5.示例5:

x = [1, 2, 3]

y = [4, 5, 6]

z = [7, 8, 9]

xyz = zip(x, y, z)

u = zip(*xyz)

print u

运行的结果是:

[(1, 2, 3), (4, 5, 6), (7, 8, 9)]

一般认为这是一个unzip的过程,它的运行机制是这样的:

在运行zip(*xyz)之前,xyz的值是:[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

那么,zip(*xyz) 等价于 zip((1, 4, 7), (2, 5, 8), (3, 6, 9))

所以,运行结果是:[(1, 2, 3), (4, 5, 6), (7, 8, 9)]

注:在函数调用中使用*list/tuple的方式表示将list/tuple分开,作为位置参数传递给对应函数(前提是对应函数支持不定个数的位置参数)

6.示例6:

x = [1, 2, 3]
r = zip(* [x] * 3)
print r

运行的结果是:

[(1, 1, 1), (2, 2, 2), (3, 3, 3)]

它的运行机制是这样的:

[x]生成一个列表的列表,它只有一个元素x

[x] * 3生成一个列表的列表,它有3个元素,[x, x, x]

zip(* [x] * 3)的意思就明确了,zip(x, x, x)

如果对Python有兴趣或者入门找不到方向可以加群:834179111,本群整理了,从Python入门零基础到项目实战的学习资料。欢迎欢迎各位前来交流学习。

相关文章

  • 学习Python的zip函数

    zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表。具体意思不好用文字来表述,直接看示例...

  • 【Python炫技】使用zip函数,帮你写出更为Pythonic

    SOS,今天说到的此zip(),非彼.zip的压缩文件 ... Python中的zip函数 Python中有一个z...

  • 生成器

    背景 python的某个学习课程本周的作业是写一个生成器,改造内建的函数zip,详细如下: 实现一个函数zip2,...

  • Python常用函数

    Python函数 dict() zip() sum() range() enumerate() random() ...

  • Python札记13_内建函数zip()、enumerate()

    Python中有很多的内建函数,zip()、enumerate()等 zip zip用于合并两个对象中的元素,合并...

  • Python zip() 函数

    python2 描述 zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这...

  • python zip 函数

    身体不好,补补..... 基础不好,补补..... 概述 可以直接作用于for循环的数据类型有以下几种:一类...

  • python zip函数

    描述 zip()函数用于将可迭代的对象作为参考,将对象中对应的元素打包成一个个远足,然后返回有这些元祖组成的列表。...

  • #抬抬小手学Python# Python 之内置函数:filte

    filter、map、reduce、zip、enumerate 这几个函数在 Python 里面被称为高阶函数,本...

  • 每日python—— zip()模块详解

    zip(*iterable) zip()函数是一个python内建函数,接受一系列迭代对象,然后将对应元素值以元组...

网友评论

      本文标题:学习Python的zip函数

      本文链接:https://www.haomeiwen.com/subject/mmikbftx.html