I am trying to subtract elements from a list in a list of lists using list comprehension. I want to achieve something like:
JavaScript
x
6
1
list1=[a,b,c]
2
3
listoflist=[[e,f,g,h],[i,j],[k,l,m,n]]
4
5
new_list= [[e-a,f-a,g-a,h-a],[i-b,j-b],[k-c,l-c,m-c,n-c]]
6
So it is an element to element subtraction but either get errors because most of my numbers are floats or I get something like:
JavaScript
1
2
1
new_list= [[[e,a],[f,b],[g,c]],[[i,a],[j,b] ]
2
I don’t know if that makes sense?
Advertisement
Answer
Here it is:
JavaScript
1
2
1
new_list = [[v1 - v2 for v1 in vs1] for v2, vs1 in zip(list1, listoflists)]
2