Python 从一个列表中减去另一个列表
我想从另一个列表的对应元素中减去一个列表,例如:Python 从一个列表中减去另一个列表,python,list,Python,List,我想从另一个列表的对应元素中减去一个列表,例如: a = [[1, 2], [3, 4]] b = [[1, 2], [3, 0]] 预计产量为: c = [[0, 0], [0, 4]] 仅使用一个列表从另一个列表中进行减法很容易: c = [i - j for i, j in zip(a, b)] 但这不适用于列表列表并返回TypeError:不支持的操作数类型-:“list”和“list”。有什么办法吗?使用numpy数组 >>> import numpy as n
a = [[1, 2], [3, 4]]
b = [[1, 2], [3, 0]]
预计产量为:
c = [[0, 0], [0, 4]]
仅使用一个列表从另一个列表中进行减法很容易:
c = [i - j for i, j in zip(a, b)]
但这不适用于列表列表并返回TypeError:不支持的操作数类型-:“list”和“list”
。有什么办法吗?使用numpy数组
>>> import numpy as np
>>> a=np.array([[1,2],[3,4]])
>>> b=np.array([[1,2],[3,0]])
>>> a-b
array([[0, 0],
[0, 4]])
这应该可以做到:
c = [list(map(lambda x, y: x - y, ii, jj)) for ii, jj in zip(a, b)]
您可以使用嵌套列表理解,其中内部列表对每对列表执行减法:
a = [[1, 2], [3, 4]]
b = [[1, 2], [3, 0]]
c = [[ii - jj for ii, jj in zip(i, j)]
for i, j in zip(a, b)]
print(c)
# [[0, 0], [0, 4]]
您是否尝试过嵌套循环来提取项目并生成结果?很酷,很高兴这能有所帮助。尽管下面基于
numpy
的解决方案运行良好,但它仍然需要导入一个外部模块并从numpy.array
转换到list
,即使是隐式的。