当前位置: 首页 > 编程笔记 >

Python中的zip函数使用示例

饶谦
2023-03-14
本文向大家介绍Python中的zip函数使用示例,包括了Python中的zip函数使用示例的使用技巧和注意事项,需要的朋友参考一下

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中zip函数如何使用,包括了Python中zip函数如何使用的使用技巧和注意事项,需要的朋友参考一下 介绍 zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。 ps. 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。 例子 zip函数接受任意多个(包括0个

  • zip() 函数是 Python 内置函数之一,它可以将多个序列(列表、元组、字典、集合、字符串以及 range() 区间构成的列表)“压缩”成一个 zip 对象。所谓“压缩”,其实就是将这些序列中对应位置的元素重新组合,生成一个个新的元组。 和 Python 3.x 版本不同,Python 2.x 版本中的 zip() 函数会直接返回列表,而不是返回 zip 对象。但是,返回的列表或者 zip

  • 本文向大家介绍Python zip()函数,包括了Python zip()函数的使用技巧和注意事项,需要的朋友参考一下 zip()函数用于对多个迭代器进行分组。使用帮助方法查看zip()函数的文档。运行以下代码以获取有关zip()函数的帮助。 示例 如果运行上面的程序,您将得到以下结果。 输出结果 让我们看一个简单的例子。 示例 如果运行上面的程序,您将得到以下结果 输出结果 我们还可以从压缩对象

  • 本文向大家介绍python中lambda函数 list comprehension 和 zip函数使用指南,包括了python中lambda函数 list comprehension 和 zip函数使用指南的使用技巧和注意事项,需要的朋友参考一下 lambda 函数 Python 支持一种有趣的语法,它允许你快速定义单行的最小函数。这些叫做 lambda 的函数,是从 Lisp 借用来的,可以用在

  • 本文向大家介绍浅谈Python中的zip()与*zip()函数详解,包括了浅谈Python中的zip()与*zip()函数详解的使用技巧和注意事项,需要的朋友参考一下 前言 1.实验环境: Python 3.6; 2.示例代码地址:下载示例; 3.本文中元素是指列表、元组、字典等集合类数据类型中的下一级项目(可能是单个元素或嵌套列表)。 zip(*iterables)函数详解 zip()函数的定义

  • 问题 你想把多个数组连在一起,生成一个数组的数组。换句话说,你需要实现与 Python 中的 zip 函数类似的功能。 Python 的 zip 函数返回的是元组的数组,其中每个元组中包含着作为参数的数组中的第 i 个元素。 解决方案 使用下面的 CoffeeScript 代码: # Usage: zip(arr1, arr2, arr3, ...) zip = () -> lengthArr