a = {a1, a2, a3, a4, a5};
b = {b1, b2, b3, b4, b5};
f[x_, y_] :=
Module[{r = Thread[{Most@x, Rest@y}]},
Join[{{x[[1]]}}, r, {{y[[-1]]}}]];
f[a, b];
g[a_List, b_List] := {{First@a}}~Join~
Partition[Riffle[Rest@a, Most@b], UpTo[2]]~Join~{{Last@b}};
g[a, b];
h[a_List, b_List] :=
Module[{chunks = {1, Sequence @@ ConstantArray[2, Length@a - 1],
1}}, Riffle[a, b] // TakeList[#, chunks] & // Map[Reverse]];
h[a, b];
(Transpose[{Append[a,x],Prepend[b,x]}]/. x->Nothing)
i[x_, y_] :=
Transpose[{Append[x, u], Prepend[y, u]}] /. u -> Nothing;
i[a, b];
({#[[{1}]],##2,#[[{-1}]]}&@@Transpose[{a,RotateRight@b}])
j[x_, y_] := {#[[{1}]], ##2, #[[{-1}]]} & @@
Transpose[{x, RotateRight@y}];
j[a, b];
(Inner[List,a,RotateRight@b,{#[[{1}]],##2,#[[{-1}]]}&])
k[x_, y_] :=
Inner[List, x, RotateRight@y, {#[[{1}]], ##2, #[[{-1}]]} &];
k[a, b];
([HappySmiley]={#[[{1}]],##2,#[[{-1}]]}&@@({#,{##2,#}&@@#2}
[Transpose])&;)
[HappySmiley] = {#[[{1}]], ##2, #[[{-1}]]} & @@ ({#, {##2, #} & @@
#2}[Transpose]) &;
[HappySmiley][a, b];
(MapAt[Nothing,{1,2}]@Append[{Last@b}]@Thread[{a,RotateRight@b}])
l[x_, y_] :=
MapAt[Nothing, {1, 2}]@Append[{Last@y}]@Thread[{x, RotateRight@y}];
l[a, b];
(Append[{Last@b}]@Prepend[{First@a}]@Thread[{a[[2;;]],b[[;;-2]]}])
m[x_, y_] :=
Append[{Last@x}]@
Prepend[{First@y}]@Thread[{x[[2 ;;]], y[[;; -2]]}];
m[a, b];
(Partition[Riffle[a,b],2,2,{-1,1},{},Reverse@List])
n[x_, y_] := Partition[Riffle[x, y], 2, 2, {-1, 1}, {}, Reverse@List];
n[a, b];
(Partition[Riffle[Append[Last@b]@a,b,{3,-2,2}],2,2,{-1,1},{}])
o[x_, y_] :=
Partition[Riffle[Append[Last@y]@a, y, {3, -2, 2}], 2,
2, {-1, 1}, {}];
o[a, b];
Print["f[a,b]", RepeatedTiming[f[a, b], 1]]
Print["g[a,b]", RepeatedTiming[g[a, b], 1]]
Print["h[a,b]", RepeatedTiming[h[a, b], 1]]
Print["i[a,b]", RepeatedTiming[i[a, b], 1]]
Print["j[a,b]", RepeatedTiming[j[a, b], 1]]
Print["k[a,b]", RepeatedTiming[k[a, b], 1]]
Print["[HappySmiley][a,b]", RepeatedTiming[[HappySmiley][a, b], 1]]
Print["l[a,b]", RepeatedTiming[l[a, b], 1]]
Print["m[a,b]", RepeatedTiming[m[a, b], 1]]
Print["n[a,b]", RepeatedTiming[n[a, b], 1]]
Print["o[a,b]", RepeatedTiming[o[a, b], 1]]
f[a,b]{4.612*10^-6,{{a1},{a1,b2},{a2,b3},{a3,b4},{a4,b5},{b5}}}
g[a,b]{5.08331*10^-6,{{a1},{a2,b1},{a3,b2},{a4,b3},{a5,b4},{b5}}}
h[a,b]{7.72621*10^-6,{{a1},{a2,b1},{a3,b2},{a4,b3},{a5,b4},{b5}}}
i[a,b]{6.75102*10^-6,{{a1},{a2,b1},{a3,b2},{a4,b3},{a5,b4},{b5}}}
j[a,b]{4.82434*10^-6,{{a1},{a2,b1},{a3,b2},{a4,b3},{a5,b4},{b5}}}
k[a,b]{2.8945*10^-6,{{a1},{a2,b1},{a3,b2},{a4,b3},{a5,b4},{b5}}}
[HappySmiley][a,b]{4.89292*10^-6,{{a1},{a2,b3},{a3,b4},{a4,b5},{a5,b1},{b2}}}
l[a,b]{3.28372*10^-6,{{a1},{a2,b1},{a3,b2},{a4,b3},{a5,b4},{b5}}}
m[a,b]{3.12413*10^-6,{{b1},{a2,b1},{a3,b2},{a4,b3},{a5,b4},{a5}}}
n[a,b]{4.9749*10^-6,{{a1},{a2,b1},{a3,b2},{a4,b3},{a5,b4},{b5}}}
o[a,b]{3.91459*10^-6,{{a1},{a2,b1},{a3,b2},{a4,b3},{a5,b4},{b5}}}
```
Map[Flatten]@Transpose[{az,bz}]? – kglr Feb 06 '24 at 09:49