Transform a Sum into a List
List @@ sum
{a, -b, c, d}
From the docs on Apply (@@):
f@@expr replaces the head of expr by f.
So List@@sum
replaces Head[sum]
(that is, Plus
) with List
.
You can also get the same result by changing 0
th Part
of sum
(which is its Head
) to List
:
sum[[0]] = List; sum
{a, -b, c, d}
Try :
a - b + c + d /. Plus -> List
You can have a look at a - b + c + d //FullForm
to see why this works.
Still another route:
Last[CoefficientArrays[#]] Variables[#] &[a - b + c + d]
{a, -b, c, d}