假设我有两个不同长度的列表.
a = [8,9,4,7,5,6,1,4,8]
b = [6,4,7,1,5,8,3,6,4,4]
Run Code Online (Sandbox Code Playgroud)
我想要一个这样的列表:
c= a-b
#output = [2, 5, -3, 6, 0, -2, -2, -2, 4]
Run Code Online (Sandbox Code Playgroud)
我怎样才能实现这一目标?
我尝试operator.sub了地图功能.但由于列表长度不同,我收到错误.
c = map(operator.sub, a, b)
Run Code Online (Sandbox Code Playgroud)
TypeError:不支持的操作数类型 - :'NoneType'和'int'
您可以zip与列表推导表达式一起使用:
>>> a = [8,9,4,7,5,6,1,4,8]
>>> b = [6,4,7,1,5,8,3,6,4,4]
>>> [x - y for x, y in zip(a, b)]
[2, 5, -3, 6, 0, -2, -2, -2, 4]
Run Code Online (Sandbox Code Playgroud)