You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何优雅地在C# List的各元素间插入任意元素?

在数组元素间插入指定元素的优雅实现

核心逻辑

数组长度小于2时直接返回原数组;长度≥2时,给除最后一个元素外的每个元素后面加上插入元素,再拼接最后一个元素。

Python 实现方案

方案一:列表推导式+zip

def insert_between(arr, elem):
    if len(arr) < 2:
        return arr.copy()
    return [x for pair in zip(arr, [elem]*(len(arr)-1)) for x in pair] + [arr[-1]]

测试效果:

  • 输入 [2,3,4,5,6,7] 插入1 → [2,1,3,1,4,1,5,1,6,1,7]
  • 输入 [2] → [2]
  • 输入 [] → []

方案二:用itertools简化拼接

from itertools import chain

def insert_between(arr, elem):
    if len(arr) < 2:
        return arr.copy()
    return list(chain.from_iterable(zip(arr, [elem]*(len(arr)-1)))) + [arr[-1]]

极简写法

def insert_between(arr, elem):
    return arr if len(arr) < 2 else sum(([x, elem] for x in arr[:-1]), []) + [arr[-1]]

注意点

  • 返回副本是为了避免后续操作意外修改原数组,若不需要保护原数组,直接返回arr即可
  • 所有方案都严格处理了短数组的边界情况,保证[2]和[]原样返回

内容的提问来源于stack exchange,提问作者Party Ark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 22:20:05