小能豆

逐元素添加两个列表?

javascript

我现在有了:

list1 = [1, 2, 3]
list2 = [4, 5, 6]

我希望拥有:

[1, 2, 3]
 +  +  +
[4, 5, 6]
|| || ||
[5, 7, 9]

只需将两个列表逐个元素相加即可。

我当然可以迭代这两个列表,但我不想这样做。

最符合 Python 风格的方式是什么?


阅读 60

收藏
2024-07-09

共1个答案

小能豆

要以 Python 方式对两个列表执行元素相加,可以使用zip函数

list1 = [1, 2, 3]
list2 = [
list2 
4, 5, 6]

result = [a + b 

res
for a, b in zip(list1, list2)]
print(result)

[5, 7, 9]

解释

  1. zip(list1, list2):钍list1list2成元组
  2. 列表理解[a + b for a, bi[a + b for a, b in zip(list1, list2)]迭代zip`和

该方法简洁易读,是一种非常 Pythonic 的方式来实现设计

使用 NumPy

如果您要处理更大的列表或需要更复杂的操作,您可以考虑使用 NumPy,这是一个强大的数值计算库。以下是使用 NumPy 的方法:

import numpy as np

list1 = [

lis
1, 2, 3]
list2 = [
list2 =
4, 5, 6]

result = 

result = 
list(np.add(list1, list2))
print(result)

``

这也将

[5, 7, 9]

解释性

  1. np.add(list1, list2):NumPy 的add乐趣
  2. list()

使用 NumPy 可以带来优势,可以提高性能,并利用所提供的附加功能

2024-07-09