文章目录
- Python 中的逐元素加法
- 在 Python 中使用 zip() 函数执行逐元素加法
- 在 Python 中使用 map() 函数执行逐元素加法
- 在 Python 中使用 NumPy 执行逐元素加法
我们将通过示例介绍在 Python 中按元素添加两个列表的不同方法。
Python 中的逐元素加法
在 Python 中使用列表时,在某些情况下,我们可能需要按元素添加两个列表。 Python 为各种问题提供了解决方案。
可以使用三种方法按元素添加两个列表。 我们将在以下部分中通过代码示例详细解释这些方法。
在 Python 中使用 zip() 函数执行逐元素加法
zip()
函数提供了将两个列表相加的功能。 在这个函数中,我们可以按元素添加两个列表。
显示两个元组之和的元组显示与元组 1 和元组 2 相同的元素。
zip()
函数的使用步骤如下。
- 我们将创建两个列表并将它们传递给 zip() 函数。
- 然后,我们将遍历两个列表中的每个元素。
- 我们将为每次迭代放置 sum() 函数,如下所示。
示例代码:
# python
firstList = (1,2,9,8,99,89)
secondList = (14,24,56,38,97,11)
additionList =[sum(element) for element in zip(firstList ,secondList)]
print(additionList)
输出:
从上面的示例可以看出,它添加了 firstList 和 secondList 元素,并提供了一个显示两个列表之和的新列表。
根据索引位置,两个列表元素都添加到上述函数中。 它创建值并将其存储在新列表中。
在 Python 中使用 map() 函数执行逐元素加法
map()
是 Python 中的另一个函数,用于汇总一个或两个可迭代对象。 它接受一个返回函数并将一个或多个可迭代对象作为输入并对其进行处理以提供一个新的元组或包含两个元组之和的集合。
它基于各自列表中元素的索引对所有可迭代对象起作用。 每次迭代都会选择一个元素并将其传递给返回函数,在本例中,返回函数是一次只返回一个表达式的 lambda 函数。
返回函数的值或元素存储在地图类的对象中并转换为线性值。
map()
函数的工作方式如下。
- 值被传递给 lambda 函数或返回函数。 它接受两个输入并给出这些值的总和。
- 然后 map() 函数将两个列表一起迭代,这样在第一次运行时,它会捕获 1 和 14,然后 lambda 函数开始工作,并获得总和,即 15。
- 然后,在第二步,它会抓到 2 和 24; 经过lambda函数后,得到和,即26。
这个过程一直持续到每个元组中的所有元素都加起来为止,如下所示。
示例代码:
# python
firstList = (1,2,9,8,99,89)
secondList = (14,24,56,38,97,11)
additionList= list(map (lambda x,y :x+y,firstList ,secondList ))
print(additionList)
输出:
如您所见,它添加了 firstList 和 secondList 元素并提供了一个显示两个列表之和的新列表。 在上面的函数中,两个列表元素都是根据索引位置添加的,它创建并将值存储在一个新列表中。
在 Python 中使用 NumPy 执行逐元素加法
我们还可以使用 NumPy 按元素添加两个列表中的元素。 NumPy 可以处理复数。
它是标准的三角函数。 在添加的情况下应用不同的操作后,它会将列表转换为 NumPy 数组,然后再次将此 NumPy 数组转换为列表。
让我们通过一个示例来实现我们在上述示例中使用的相同场景。 首先,我们将使用显示的以下命令安装 NumPy。
# python
pip install numpy
如下所示,我们将在我们的程序中导入它,并使用它来执行两个列表的逐元素相加。
示例代码:
# python
import numpy as np
firstList = (1,2,9,8,99,89)
secondList = (14,24,56,38,97,11)
additionList= list (np.array (firstList)+np.array(secondList))
print(additionList)
输出:
我们可以使用上面示例中的 NumPy 轻松地在两个列表之间进行逐元素加法。