Tyche_BO 2019-05-18 21:35 采纳率: 0%
浏览 643
已采纳

python 中直接创建一个列表快还是一项一项添加快

python 中直接创建一个列表快还是一项一项添加快

比如:

#第一种
a=[]
for x in rang(1,100):
    a.append(x)

#第二种是直接手打
a=[1,2,3,4,5,6,....,100]

     想知道这两种创建列表的方法那种更快,因为现在要创建N个类似的列表,列表内

容为另一个列表内的数值运算,然后把这N个列表当成一个元素嵌套在另一个列表内

所以想请教下那种方法比较好比较有效率。后期涉及数据量几百万行以上,不想程序运行太慢
谢谢了 各位老大

  • 写回答

3条回答 默认 最新

  • 北冥有鱼wyh 2019-05-19 06:30
    关注

    1、第一种的时间复杂度是O(n),第二中的时间复杂度是O(1)。
    2、当创建n个类似的列表时,相当于在代码前添加了一个循环。故第一种的时间复杂度是O(n^2),第二中的时间复杂度是O(n)。
    3、n越大,时间复杂度间区别越大。当n等于一百万时,第一种可能运行上亿次,而第二种依旧只执行一百万次。
    由此总结:第二种时间用时较少,且创建次数越多,相比较第一种用时就越少。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置