代码之家  ›  专栏  ›  技术社区  ›  cjm2671

在python 3中加速列表连接[复制]

  •  -2
  • cjm2671  · 技术社区  · 6 年前

    这个问题已经有了答案:

    我正在运行以下代码:

    x = []
    for i in c:
        x = x+i
    

    结果有大约5000-1亿种元素。

    这需要几分钟在我的电脑上运行。如何加速?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Serge    6 年前

    已在中进行比较 join list of lists in python

    使用.extend比使用itertools.chain更快。

    外倾法

    l = [] 
    for x in c: l[0:0] = x 
    

    其中最快的根据 stackoverflow.com/questions/12088089/

    对于python 3.5和后者,更具异国情调

    l = [] 
    for x in c: 
        l = [l, *x]
    

    当然,和(c,[])是所有测量中最差的。