VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • python中zip函数用法详解(全)

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

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

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

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

fruits = ['apple', 'banana', 'orange']
prices = [1.0, 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)将fruits和prices两个列表打包成一个元组的迭代器。在每次迭代中,fruit变量接收fruits列表中的元素,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]

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

原文链接:https://blog.csdn.net/qq_41045651/article/details/131322780


相关教程