Say a list is given as
list = {a, b, c, d, r, m, n};
Suppose I want to insert 2 and 3 at position 3 and 7, respectively.
Insert[list, 2, 3] puts 2 at position 3, but Insert[list, {{2, 3}, {3, 7}}] does nothing.
How is it possible?
Say a list is given as
list = {a, b, c, d, r, m, n};
Suppose I want to insert 2 and 3 at position 3 and 7, respectively.
Insert[list, 2, 3] puts 2 at position 3, but Insert[list, {{2, 3}, {3, 7}}] does nothing.
How is it possible?
How about this
myInsert[list_, valuePosList_] := Fold[Insert[#, Sequence @@ #2] &,
list,
SortBy[valuePosList, -Last[#] &]
]
myInsert[list, {{2, 3}, {3, 7}}]
{a, b, 2, c, d, r, m, 3, n}
Look what I found after spelunking:
GroupTheory`PermutationGroups`Private`FoldInsert[
{a, b, c, d, r, m, n},
{2, 3}, {3, 7}
]
{a, b, 2, c, d, r, 3, m, n}
Well, it is not entirely correct for it does not revert the order of insertion... =/
insertList[list_, valuePosList_] := ReplacePart[
list,
Apply[
Rule[#2, Sequence[#1, list[[#2]]]] &,
valuePosList
, {1}
]
]

Block[{k = 0}, Insert[{a, b, c, d, r, m, n}, Unevaluated[{2, 3}[[++k]]], {{3}, {7}}]]– J. M.'s missing motivation Sep 27 '18 at 13:02