Python 添加列表元素(或集合,或任何合适的数据类型)

问题描述 投票:0回答:6

有没有一种简单的方法可以添加两个大小相同的

list
s(或
tuple
或任何数据类型最有效)的成员?

我有,例如

a
b
有2个元素:

a = (0, 10)
b = (0, -10)

我想添加它们并得到结果:

result = (0, 0)

不是

(0, 10, 0, -10)

python list tuples add members
6个回答
6
投票

您可以在 Python 中一行完成此操作:

map(sum, zip(A, B))

例子:

>>> B = [1, 2, 3, 4]
>>> C = [1, 2, 4, 8]
>>> map(sum, zip(B, C))
[2, 4, 7, 12]

5
投票

三种选择:

>>> [a+b for (a,b) in zip(A,B)]
>>> map(int.__add__, A, B)
>>> map(sum, zip(A,B))

1
投票

如果您想使用数字列表进行操作,请使用 numpy

>>> a = [1,2]
>>> b = [1,2]
>>> import numpy as np
>>> np.add(a,b)
array([2, 4])
>>> 

0
投票
List ANSWER = ()
for index in range(0, len(A))
  ANSWER.append(A[index]+B[index])

0
投票

是的,就这样做

map(sum,zip(A,B)

或者,(实际上显然更快)

u=map(lambda a,b:a+b,A,B)

时序示例:

A=range(3000)
B=range(3000)
for i in range(15000):
 u=map(lambda a,b:a+b,A,B)   # takes about 7.2 seconds
 # u=map(sum,zip(A,B))       # takes about 11 seconds
 # u=map(int.__add__,A,B) # (Edward Loper) actually also consistently ~0.5 sec slower than lambda

0
投票

您可以使用 numpy 添加列表:

add(array([-1.2, 1.2]), array([1,3]))

结果是:

array([-0.2, 4.2])
© www.soinside.com 2019 - 2024. All rights reserved.