在python中列出减法

Dhe*_*raj 4 python list

假设我有两个不同长度的列表.

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'

Moi*_*dri 7

您可以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)