将函数应用于Python列表中每个元素2025年1月5日 | 阅读8分钟 编程中的函数在封装可重用代码块方面起着至关重要的作用。在 Python 中,将函数应用于列表的每个元素涉及使用函数定义的特定操作或转换来系统地处理列表中的每个项。当对列表中的每个元素执行统一的计算或修改时,此方法特别有用。在本文中,我们将探讨使用 Python 将函数应用于列表每个元素的各种方法。
![]() 使用 map() 函数Python 中的 `map()` 函数是一个有用的内置函数,它将一个指定函数应用于可迭代对象(如列表、元组或字符串)中的所有项。然后,它返回一个生成结果值的迭代器。 语法map() 函数的通用语法如下:
`map()` 函数将提供的函数应用于可迭代对象的每个元素,并返回一个包含结果的迭代器。要获取最终的列表输出,可以使用 `list()` 方法将迭代器转换为列表。 示例 1以下是一个使用 map() 函数对列表中每个元素进行求立方操作的简单示例: 程序 输出 [1, 8, 27, 64, 125] 说明 上面的程序很简单,用于展示 map 函数将函数应用于每个元素的使用。在这里,我们定义了一个名为“cube_number”的函数,该函数接受整数元素并返回数字的立方。使用 map,我们将列表的元素修改为数字的立方。 示例 2这是一个将数字转换为其字符串表示形式的示例程序: 程序 输出 ['10', '20', '30', '40', '50'] 说明 在这里,我们定义了一个名为“convert_to_string”的函数,该函数接受一个整数作为输入,并使用 str 方法将整数元素转换为字符串。然后使用 map() 将“convert_to_string”函数应用于“original_list”中的每个整数。 使用 for 循环在编程中,我们经常使用循环。将函数应用于列表中每个元素的一种最佳方法是通过 for 循环。 示例 1让我们通过一个 for 循环示例程序来看看。 程序 输出 [1000, 2000, 3000, 4000, 5000] 说明 我们使用 for 循环通过迭代列表并将修改后的元素存储在结果列表中来对每个元素应用函数。最后,打印结果列表。 使用 Lambda 函数Lambda 函数是 Python 中使用 lambda 关键字定义的、小型的、匿名的函数。当操作简短、简单且不需要完整的函数定义时,通常使用 Lambda 函数。Lambda 函数的通用语法为: 这里,arguments 是输入参数,expression 是要执行的操作。 示例因此,让我们来看一个对列表中的每个元素进行平方操作的示例程序。程序 输出 [1, 4, 9, 16, 25] 说明 我们没有创建新函数,而是使用了 lambda 关键字来执行相同的功能。lambda 函数 `lambda x: x ** 2` 等同于一个计算其输入的平方的常规函数。`map()` 函数将此 lambda 函数应用于 `original_list` 中的每个元素,从而生成一个包含平方值的新列表(`result_list`)。 示例这是一个从列表中过滤偶数的示例程序: 程序 输出 Original Numbers: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] Even Numbers: [2, 4, 6, 8, 10] 说明 在此程序中,我们创建了一个 lambda 函数来检查数字是否为偶数。然后,`filter` 函数将此条件应用于 `numbers` 列表中的每个元素,并仅将满足条件的元素包含在新列表 `even_numbers` 中。 使用列表推导式列表推导式是 Python 中创建列表的简洁方法。它提供了一种更具可读性和表现力的方式,只需一行代码即可指定要包含的元素来生成列表。 列表推导式对于将函数应用于每个元素很有好处。 列表推导式的基本语法是:
示例让我们来看一个关于列表推导式的示例程序: 程序 输出 [('Alice', 5), ('Bob', 3), ('Charlie', 7), ('Deol', 4)] 说明 该程序使用列表推导式生成一个名为“name_lengths”的新列表。列表推导式遍历“names”列表中的每个元素(`name`),并为每个名称创建一个元组(`name`, `len(name)`)。`len(name)` 计算每个名称的长度。 示例 2让我们看一个使用列表推导式从给定列表中过滤偶数的示例: 程序 输出 [2, 4, 6, 8, 10] 说明 此程序使用列表推导式创建一个名为 `even_numbers` 的新列表。列表推导式遍历 `numbers` 列表中的每个元素(`x`),并且仅包含满足 `x % 2 == 0` 条件的那些元素。换句话说,它过滤掉了奇数,只留下新列表中的偶数。 `x` 代表 `numbers` 列表中的每个元素。如果 `x` 是偶数,则满足 `x % 2 == 0` 条件。 使用 Pandasapply() 函数作为数据处理和分析的流行库,您可以使用 apply() 函数将函数应用于 DataFrame 的每个列元素。 Pandas 中的 apply() 函数是一种有益且灵活的方法,可将函数应用于 DataFrame 的轴(即行或列)或特定 Series。当对每个 DataFrame 或 Series 元素执行自定义操作时,它特别有用。 示例 让我们考虑一个使用 apply 函数将函数应用于 DataFrame 中每个元素的简单程序: 程序 输出 Numbers Squared Numbers 0 1 1 1 2 4 2 3 9 3 4 16 4 5 25 说明 首先,我们利用 pandas 库创建了一个 DataFrame。在此之后,我们开发了一个计算数字平方的函数。接下来,我们使用 apply 函数将平方函数应用于“Numbers”列中的每个元素。此操作的输出随后被分配给一个名为“Squared Numbers”的新列。然后我们打印。 applymap() 函数Pandas 中的 `applymap()` 函数可以将特定函数应用于 DataFrame 中的每个元素。它不同于用于逐元素操作的 `apply()` 函数,后者仅用于 Series(单列或单行)。相比之下,`applymap()` 函数逐元素地操作整个 DataFrame。 示例 让我们看一个如何区分 apply map 和 apply 函数的示例程序: 程序 输出 A B C 0 1 16 49 1 4 25 64 2 9 36 81 说明 在此程序中,我们定义了一个名为 `square` 的函数,该函数接受一个整数作为输入并返回其平方。 我们使用 `applymap()` 方法将 `square` 函数应用于 DataFrame `df` 的每个元素。这意味着 DataFrame 中每个单元格中的每个值都被平方了。 何时应使用 apply() 和 applymap() 函数?当您想沿 DataFrame 的行或列应用函数时,请使用 **apply()**。 当您想将函数应用于整个 DataFrame 的每个元素时,请使用 **applymap()**。 使用 NumpyNumPy 是一个 Python 编程语言库,它支持大型多维数组。 Numpy vectorize()NumPy vectorize 是 NumPy 库中的一个函数,它允许常规 Python 函数通过逐元素应用来与 NumPy 数组一起工作。这是增强 Python 函数与 NumPy 数组配合使用的功能的一种便捷方式。 程序 输出 [ 1 8 27 64] 说明 在此示例中,定义了 `cube` 函数来计算给定数字的立方。然后使用 `numpy.vectorize` 函数创建该函数的向量化版本(`vectorized_cube`)。最后,将向量化函数应用于 NumPy 数组(`arr`),创建一个新数组,其中每个元素都进行了立方计算。 结论将自定义函数应用于列表中的每个元素是操作数据的强大方法。它提供了灵活性,并允许以简洁的方式表达复杂的转换。当您执行逐元素操作时,代码会更具可读性和表现力,并且您无需使用显式循环。此方法在使用大型数据集或复杂数据结构时尤其有益。 但是,根据任务的不同,探索其他方法(例如列表推导式、NumPy 函数或其他内置 Python 函数)是值得的。您应该选择最符合您用例特定需求和性能考虑因素的方法。 总而言之,将函数应用于列表中的每个元素是一项常见操作,它在数据处理任务中平衡了灵活性、可读性和自定义性。 |
? 在接下来的教程中,我们将学习 Python 中 [::-1] 的用法。在 Python 中反转可迭代对象在 Python 中,反转字符串、列表或任何其他具有顺序的可迭代对象用 [::-1] 表示。例如:hello = "Hello world" num = [5, 6, 7, 8] print(hello[::-1]) print(num[::-1]) 输出: dlrow olleH [8, 7,...
7 分钟阅读
如何从 GitHub 存储库安装 Python 包?Python 广泛的包生态系统是其优势之一,允许开发人员利用现有代码并加速他们的项目。虽然 Python 包索引 (PyPI) 是 Python 包的主要存储库,但有时……
阅读 4 分钟
? Matplotlib 是一个强大的 Python 图表工具包,经常用于创建可视化。有时,可能需要在单个窗口中绘制多个图形,但有时,你可能需要单独显示它们。这对于构建复杂的可视化或比较各种图表很有帮助...
阅读 4 分钟
在计算机编程中,整数溢出是一个常见问题,即算术运算尝试创建一个超过系统支持的固定整数大小的数值。这种溢出会导致错误的值崩溃或证书漏洞。然而...
阅读 6 分钟
math.hypot() 方法是 Python 语言中一个重要的数学函数,属于通用数学家族。它用于计算多维平面上给定点与原点之间的欧几里得距离。这是一个非常简单的概念,用于...
阅读 3 分钟
上采样,也称为图像缩放或调整大小,是图像处理中的一个基本步骤,它增加了图像的分辨率。该方法常用于各种应用,包括数字缩放、图像增强以及机器学习模型的预处理。OpenCV(开源计算机视觉...
阅读 3 分钟
简介 Python 及其简洁性和可读性使其成为处理各种编程任务(包括数字操作)的流行选择。一个常见的任务是从作为字符串提供的数字中删除前导零。这个看似简单的操作可以通过多种方式实现,每种方式都有其优点...
阅读 3 分钟
? 有时,获取目录中文件和文件夹的列表非常重要。Pathlib 模块用于在 Python 的帮助下获取当前目录中所有子目录的列表。要获取当前目录中所有子目录的列表...
阅读 6 分钟
引言 计算机视觉中一种估计一系列图片或视频帧中物体运动的方法称为稠密光流。与跟踪特定特征或位置的传统光流不同,稠密光流确定每个像素的速度...
阅读 3 分钟
在 Python 中,有两种类型的除法运算符 - 常规除法 (/) 和整数除法 (//),每个在处理数字时都有不同的用途。让我们分解一下每个运算符的作用。在 Python 编程中,我们使用两个特殊的除法运算符处理数字计算:常规除法 (/)...
14 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India