Algorithm 需要一种在python中向列表中添加元素的更快、更高效的方法吗

Algorithm 需要一种在python中向列表中添加元素的更快、更高效的方法吗,algorithm,python-2.7,python-3.x,parsing,Algorithm,Python 2.7,Python 3.x,Parsing,我正在尝试创建一个大的数字列表。 a='111220011900'(超过一千万) 我尝试过以下方法: %timeit l=list(map(int,a.split())每个循环4.07µs %timeit l=a.split(“”)这是462ns/循环 %timeit l=[i for i in a.split()]每个循环花费1.19µs 我知道第二个和第三个变体是字符列表,而第一个是整数列表,这很好。但是当元素的数量超过1000万时,创建一个列表可能需要6秒钟。这对我来说太长了。 有人能告诉

我正在尝试创建一个大的数字列表。
a='111220011900'
(超过一千万)

我尝试过以下方法:

  • %timeit l=list(map(int,a.split())
    每个循环
    4.07µs
  • %timeit l=a.split(“”)
    这是
    462ns/循环
  • %timeit l=[i for i in a.split()]
    每个循环花费
    1.19µs
  • 我知道第二个和第三个变体是字符列表,而第一个是整数列表,这很好。但是当元素的数量超过1000万时,创建一个列表可能需要6秒钟。这对我来说太长了。 有人能告诉我一个更快捷有效的方法吗


    感谢使用纯Python,没有使用第三方扩展,
    a.split()
    应该是将输入拆分为列表的最快方法。
    str.split()

    b = ord('0')
    [ord(a)-b for a in A[::2]]
    

    这在我的计算机上生成了一个0.2秒内包含1000万个整数的列表

    我在一个
    jupyter
    笔记本上测试了各种答案,彼得·德·里瓦斯(Peter de Rivas)似乎比其他人的答案略胜一筹

    有趣的是,到整数的映射似乎是瓶颈。
    str.split()
    操作本身要快一个数量级


    输入是一个由空格分隔的字符组成的字符串,我需要它是一个列表,这样它才是可变的。我只是好奇,这个可以接受的速度是多少?以秒为单位处理1亿个项目似乎很有意义这是一个更大代码的一部分,所以我想看看是否可以在这里减少时间。谢谢你的快速回答。我想知道是否有更快的方法。我尝试了其他数据集,str.split()是我找到的最快的方法。如果你想用我的方法测试,它只在使用单个数字的情况下有效,所以当你制作数字字符串时,将str(x)更改为str(x%10)(这应该使它快3倍)啊,是的,抱歉,更新答案!为什么使用
    Ord
    比转换为Int快?因此,正如@Raymond Hettinger所提到的
    str.split()
    函数似乎是将元素存储到列表中的最优化的方法。@ranger\u sim\g是的,映射到Int是最慢的部分。