我有一个嵌套列表(子列表只有2个元素),如下所示:
list_1 = [[1,2],[3,2]]
我想减去每个嵌套列表中的元素,这应该是输出:
[-1,1]
为了对嵌套列表中的数字求和,我只需要使用:
list_1 = [[1,2],[3,2]]
store = []
for x in list_1:
store.append(sum(x))
但是在减去因为我不能在互联网上减去任何像'sum'这样的功能,我尝试创建一个这样的:
list_1 = [[1,2],[3,2]]
store = []
def subtraction(z,l):
total = z - l
return total
for y in list_1:
store.append(subtraction(y))
但它又回来了:
TypeError: subtraction() missing 1 required positional argument: 'l'
如何克服此错误并使我的代码正常工作?
答案 0 :(得分:3)
您可以使用扩展的Iterable Unpacking 运算符。
list_1 = [[1,2],[3,2]]
store = []
def subtraction(z,l):
total = z - l
return total
for y in list_1:
store.append(subtraction(*y))
另一种方法是使用list comprehension
。
list = [a-b for a, b in list]
答案 1 :(得分:2)
您可以使用列表理解
来实现此目的store = [ l1-l2 for l1, l2 in list_1]
答案 2 :(得分:1)
我的方式是:
list_1 = [[1,2],[3,2]]
store = []
for a, b in list_1:
store.append(a - b)
答案 3 :(得分:0)