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

Python实现:如何在数组每x个元素后添加空白元素?

如何在Python数组中每X个元素后插入空白元素?

一、通用场景解法

我平时处理这类需求时,一般会从分组插入的核心逻辑出发,下面分享两种实用的实现方式,你可以根据自己的习惯选择:

方法1:循环遍历构建新数组(逻辑直观,适合新手)

这种方式一步一步处理每个元素,逻辑清晰,容易调试:

def insert_blank_every_x(arr, x, blank_element=None):
    new_arr = []
    for index, item in enumerate(arr):
        new_arr.append(item)
        # 每x个元素后插入空白,同时避免在数组末尾多插
        if (index + 1) % x == 0 and index != len(arr) - 1:
            new_arr.append(blank_element)
    return new_arr

这里的blank_element可以根据需求自定义——比如用空字符串""、占位符" "或者None都可以,灵活度很高。

方法2:切片分组+拼接(代码更简洁)

如果偏爱紧凑的写法,可以先把原数组切成每x个元素一组,再给每组(除最后一组)拼接空白元素,最后合并成新数组:

def insert_blank_every_x(arr, x, blank_element=None):
    # 把原数组拆分成每x个元素的子组
    groups = [arr[i:i+x] for i in range(0, len(arr), x)]
    result = []
    # 给前n-1组加上空白元素后加入结果
    for group in groups[:-1]:
        result.extend(group + [blank_element])
    # 最后一组直接加入,不额外加空白
    result.extend(groups[-1])
    return result

这种写法处理大数组的效率也不错,代码看起来更清爽。

二、具体场景示例:每2个元素后添加空白元素

假设我们有原数组:original_arr = [1, 2, 3, 4, 5, 6, 7],要求每2个元素后插入None作为空白元素,目标数组应为[1, 2, None, 3, 4, None, 5, 6, None, 7]。

直接调用上面的通用函数就能解决:

original_arr = [1, 2, 3, 4, 5, 6, 7]
target_arr = insert_blank_every_x(original_arr, 2, None)
print(target_arr)
# 输出: [1, 2, None, 3, 4, None, 5, 6, None, 7]

如果不想单独写函数,也可以直接写 inline 代码快速实现:

original_arr = [1, 2, 3, 4, 5, 6, 7]
new_arr = []
for idx, num in enumerate(original_arr):
    new_arr.append(num)
    if (idx + 1) % 2 == 0 and idx != len(original_arr)-1:
        new_arr.append(None)
print(new_arr)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 08:56:05