Subdividing list with another list as a reference

I have a list of seven elements:

list1={0,10,-20,15,-25,20,-30};

I have also another list of six elements:

div={10,15,20,15,10,5};

I would like to create a list subdividing the values of list1 using values of div list as a reference:

Subdivide[0,10,10]
Subdivide[10,-20,15]
Subdivide[-20,15,20]
Subdivide[15,-25,15]
Subdivide[-25,20,10]
Subdivide[20,-30,5]

The answer you want can be reached this way:

list1=Partition[list1,2,1]
Apply[Subdivide,f[[#]]]&/@Range[Length[list1]]
• Or MapThread[subdivide[First@#1, Last@#1, #2] &, {Partition[list1, 2, 1], div}] – bienti Oct 25 '16 at 13:37
Subdivide @@@ Partition[Flatten@Riffle[Partition[list1, 2, 1], div], 3]

or

Subdivide @@@ Flatten /@ Transpose[{Partition[list1, 2, 1], div}]

or

Subdivide @@@ Transpose@{list1[[;; -2]], list1[[2 ;;]], div}

or

Subdivide @@@ Transpose@{Most@list1, Rest@list1, div}

Can it be done shorter....

Another way:

MapThread[Subdivide, {Most@list1, Rest@list1, div}]
• My fav so far, avoids the Transpose. – Quantum_Oli Oct 25 '16 at 17:27

Quite short:

Subdivide @@@ MapThread[Insert[##, 3] &, {Partition[list1, 2, 1], div}]

or crudely

Table[Subdivide[list1[[i]], list1[[i + 1]], div[[i]]], {i, 1, Length @ div}]

Another simple solution:

Most[list1] + Differences[list1] Map[Subdivide, div]

Also: