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

如何拆分文章并在每3段后插入循环中的相关文章推荐

解决方案:每3段插入循环推荐内容的实现逻辑

嘿,我完全懂你卡在哪了——拆分完段落、搭好了循环的架子,但就是摸不准怎么把推荐内容精准地每3段插进去对吧?我之前做过类似的内容插入需求,给你拆解下具体的实现思路和代码示例:

核心逻辑梳理

其实关键就是同时维护两个追踪变量:

  • 段落的计数(用来判断是不是第3的倍数段)
  • 推荐内容的索引(用来循环取用推荐列表里的内容,避免用完就断档)

我们可以把整个过程分成三步:

  1. 遍历拆分好的段落列表
  2. 每添加一段到结果里,就检查是否是第3段(或3的倍数段)
  3. 如果是,就从推荐列表里取当前对应的内容插入,同时推进推荐索引(用取模运算实现循环复用)

Python 代码示例

假设你已经把文章拆成了段落列表,推荐内容也存在一个列表里:

# 已拆分完成的文章段落(示例数据)
paragraphs = [
    "第一段:这是文章的开篇内容,介绍核心主题...",
    "第二段:进一步展开主题,补充相关细节...",
    "第三段:分享具体案例,增强内容说服力...",
    "第四段:切换到另一个角度,拓展讨论范围...",
    "第五段:结合行业数据,支撑观点可信度...",
    "第六段:总结前面的内容,引出后续话题...",
    "第七段:收尾内容,给出总结性结论...",
]

# 循环复用的推荐内容列表(示例数据)
recommendations = [
    "推荐阅读:《如何提升内容可读性》—— 教你优化段落结构的实用技巧",
    "推荐阅读:《内容运营中的关联推荐策略》—— 详解精准推荐的底层逻辑",
    "推荐阅读:《长内容的分段技巧》—— 让读者更愿意读完你的文章",
]

# 开始组装最终内容
final_content = []
rec_tracker = 0  # 追踪当前用哪个推荐内容

# 遍历段落,从1开始计数更方便判断
for para_num, paragraph in enumerate(paragraphs, start=1):
    final_content.append(paragraph)
    
    # 每3段插入推荐,且避免在文章最后一段后插入(可根据需求去掉这个判断)
    if para_num % 3 == 0 and para_num != len(paragraphs):
        # 用取模运算实现推荐内容循环复用
        current_rec = recommendations[rec_tracker % len(recommendations)]
        final_content.append(f"\n---\n**推荐阅读**\n{current_rec}\n")
        rec_tracker += 1

# 把列表合并成完整文章
article = "\n\n".join(final_content)
print(article)

JavaScript 代码示例(前端场景)

如果是在前端处理内容,逻辑完全一致,只是语法不同:

// 已拆分的段落列表
const paragraphs = [
    "第一段:这是文章的开篇内容,介绍核心主题...",
    "第二段:进一步展开主题,补充相关细节...",
    "第三段:分享具体案例,增强内容说服力...",
    "第四段:切换到另一个角度,拓展讨论范围...",
    "第五段:结合行业数据,支撑观点可信度...",
    "第六段:总结前面的内容,引出后续话题...",
    "第七段:收尾内容,给出总结性结论...",
];

// 推荐内容列表
const recommendations = [
    "推荐阅读:《如何提升内容可读性》—— 教你优化段落结构的实用技巧",
    "推荐阅读:《内容运营中的关联推荐策略》—— 详解精准推荐的底层逻辑",
    "推荐阅读:《长内容的分段技巧》—— 让读者更愿意读完你的文章",
];

const finalContent = [];
let recTracker = 0;

paragraphs.forEach((para, idx) => {
    const paraNum = idx + 1;
    finalContent.push(para);
    
    if (paraNum % 3 === 0 && paraNum !== paragraphs.length) {
        const currentRec = recommendations[recTracker % recommendations.length];
        finalContent.push(`\n---\n**推荐阅读**\n${currentRec}\n`);
        recTracker++;
    }
});

const article = finalContent.join("\n\n");
console.log(article);

关键细节说明

  1. 循环复用推荐内容:用rec_tracker % len(recommendations)(Python)或recTracker % recommendations.length(JS),哪怕推荐内容比段落组数少,也能循环取用,不会出现索引越界的问题。
  2. 避免末尾插入:加para_num != len(paragraphs)的判断是为了防止文章最后一段后面还跟着推荐内容,如果你的需求允许在末尾插入,直接删掉这个条件就行。
  3. 格式分隔:插入推荐内容时用---分隔线和加粗标题,让推荐内容和正文区分开,提升阅读体验。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 10:03:36