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

如何高效为Python列表中的每个元素生成指定次数的重复项?

Python列表元素批量重复的最优实现方法

以下几种方法比普通循环效率高得多,可根据场景选择:

  • 列表推导式(简洁高效)
    这是纯Python里最直观且高效的写法,比手动循环append快很多:

    a = [7086, 4914, 1321, 1887, 7060]
    n = 2
    result = [num for num in a for _ in range(n)]
    # 输出结果:[7086, 7086, 4914, 4914, 1321, 1321, 1887, 1887, 7060, 7060]
    
  • itertools工具链(低内存占用)
    用内置的itertools模块生成迭代器拼接,避免中间列表占用内存,适合处理超大列表:

    import itertools
    
    a = [7086, 4914, 1321, 1887, 7060]
    n = 2
    result = list(itertools.chain.from_iterable(itertools.repeat(num, n) for num in a))
    
  • numpy广播(数值列表极速处理)
    如果你的列表全是数值,用numpy的数组重复操作速度碾压纯Python方法,数据量越大优势越明显:

    import numpy as np
    
    a = [7086, 4914, 1321, 1887, 7060]
    n = 2
    result = np.array(a).repeat(n).tolist()
    

注:你给出的示例结果遗漏了原列表中1887的重复,以上代码均按正确逻辑生成完整结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 06:16:20