为什么Python Pros避免循环:温和的矢量性思维指南

循环易于编写,但是矢量化操作是编写高效且优雅的Python代码的秘密。

来源:KDnuggets
作者的图像| canva

#简介

当您是Python的新手时,通常每当需要处理数据集合时使用“ For”循环。需要一个数字列表吗?循环通过它们。需要过滤还是总和?再次循环。这对我们作为人类而言更为直观,因为我们的大脑会顺序思考和工作(一次是一件事)。

,但这并不意味着计算机必须。他们可以利用一种称为矢量思维的东西。基本上,您没有将整个列表提供给python,而不是循环浏览每个元素进行操作,例如“嘿,这是列表。一次执行所有操作。”

矢量性思维 “嘿,这是列表。立即执行所有操作。”

在本教程中,我会轻柔地介绍它的工作原理,为何重要,我们还将介绍一些例子,以了解它的有益。因此,让我们开始。

#什么是矢量化思维及其为什么重要?

如前所述,矢量化思维意味着,我们希望共同执行它们,而不是依次处理操作。这个想法实际上是受数学矩阵和向量操作的启发,它使您的代码更快,更可读。像Numpy这样的库允许您在Python中实现矢量性思维。

例如,如果您必须将数字列表乘以2,那么您就不会同时乘以一个元素并一一进行操作,而是同时乘以整个列表。这具有重大好处,例如减少Python的大部分开销。每次您迭代Python循环时,口译员都必须做很多工作,例如检查类型,管理对象和处理循环机制。通过矢量化方法,您可以通过批量处理来减少这种方法。它也更快。稍后我们将以绩效影响的示例来了解这一点。我已经以图像的形式看到了我刚才说的话,因此您可以了解我的指代。

#一个简单的示例:温度转换

//

输出: