开发者

python中zip函数用法详解(全)

目录
  • python 的 zip()
  • 下面是zip()函数的基本语法:
  • 以下是一个示例
  • zip()函数的应用
  • 总结

Python 的 zip()

在Python中,zip()是一个内置函数,用于将多个可迭代对象(例如列表、元组等)打包成一个元组的迭代器。它接受多个参数,每个参数代表一个可迭代对象,并返回一个迭代器,每次迭代返回一个包含来自每个可迭代对象的元素组成的元组。

下面是zip()函数的基本语法:

zip(*iterables)

其中,*iterables表示可变数量的可迭代对象参数,可以是列表、元组等。

以下是一个示例

展示如何使用zip()函数将两个列表打包成一个元组的迭代器:

fruits = ['apple', 'banana', 'orange']
prices = [1.python0, 0.5, 0.8]
for fruit, price in zip(fruits, prices):
 编程   print(fruit, price)

输出:

apple 1.0

banana 0.5

orange 0.8

在上述示例中,zip(fruits, prices)fruitsprices两个列表打包成一个元www.devze.com组的迭代器。在每次迭代中,fruit变量接收fruitspython表中的元素,price变量接收prices列表中的元素,然后打印它们。

如果传入的可迭代对象长度不一致,zip()函数会以最短的可迭代对象为准,忽略多余的元素。

您还可以使用list()函数将zip()的结果转换为列表,或使用tuple()函数将其转换为元组。

zip()函数的应用

矩阵相加减、点乘(也可以用for循环+列表推导式实现)

In [10]: m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
In [11]: n = [[1, 1, 1], [2, 2, 3], [3, 3, 3]]
# 矩阵的点乘
In [13]: [x*y for a, b in zip(m, n) for x, y in zip(a, b)]
Out[13]: [1, 2, 3, 8, 10, 18, 21, 24, 27]
# 矩阵相加
In [14]: [x+y for a, b in zip(m, n) for x, y in zip(a, b)]
Out[14]: [2, 3, 4, 6, 7, 9, 10, 11, 12]
www.devze.com

总结

到此这篇关于python中zip函数用法详解的文章就介绍到这了,更多相关python zip函数内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新开发

开发排行榜