如何在Python中用数学方法减去两个列表?
我知道在Python中不支持直接对列表进行减法操作,不过有一些方法可以去掉两个列表中相同的元素。但我想做的是,把一个列表中的每个元素分别减去另一个列表中对应位置的元素,然后把结果作为一个新的列表返回。请问我该怎么做呢?
A = [3, 4, 6, 7]
B = [1, 3, 6, 3]
print A - B #Should print [2, 1, 0, 4]
3 个回答
0
试试下面的这个方法
def substract_lists(a, b):
for i, val in enumerate(a):
val = val - b[i]
return a
23
>>> A = [3, 4, 6, 7]
>>> B = [1, 3, 6, 3]
>>> map(operator.sub, A, B)
[2, 1, 0, 4]
正如 @SethMMorton 在下面提到的,在 Python 3 中,你需要使用这个:
>>> A = [3, 4, 6, 7]
>>> B = [1, 3, 6, 3]
>>> list(map(operator.sub, A, B))
[2, 1, 0, 4]
因为在 Python 中,map 返回的是一个迭代器。