mathematica 如何在数组中等间隔插入元素

如何 在{a,b,c}中间隔插入 2个100,得到 {a,100,100,b,100,100,c,100,100}

 

1
2
3
4
seperate[list_List, seperator_, len_Integer] :=
 Flatten[#, 1] &@
  Insert[list, Array[seperator &, {len}],
   List /@ Range[Length@list] + 1]

 

 

调用很简单

1
seperate[{a,b,c},100,3]

 

 

更新版

 

 

1
2
3
4
5
seperate[list_List, seperator_, step_Integer, count_Integer] :=
 Flatten[#, 1] &@
  Insert[list, Array[seperator &, {count}],
   List /@ Range[Quotient[Length@list, step]]*step + 1]
seperate[CharacterRange["a", "z"], 0, 5, 1]

 

输出

 

1
2
3
{"a", "b", "c", "d", "e", 0, "f", "g", "h", "i", "j", 0, "k", "l",
"m", "n", "o", 0, "p", "q", "r", "s", "t", 0, "u", "v", "w", "x",
"y", 0, "z"}

posted on   大宝pku  阅读(1476)  评论(1编辑  收藏  举报

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架

导航

< 2011年1月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示