码迷,mamicode.com
首页 > 编程语言 > 详细

python日常-list

时间:2016-06-29 23:30:48      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:

什么事list:

  list 觉得算是python日常编程中用的最多的python自带的数据结构了。但是python重的list跟其他语言中的并不相同。 

 少年..不知道你听说过python中的append方法比insert方法的效率高非常多呢?什么,你不知道?请容老衲慢慢道来。

 其他编程语言中list也叫链表,大抵就是除了最后一个元素外,所有元素的中都有一个指针,这个指针只想下一个元素节点的引用。

 如果你想添加元素的话 把最后一个元素里的指针指向你想要app元素即可,插入呢?嘿嘿 这个时候你只要把要插入元素之前的元素指向你想插入的元素,然后把你想插入的元素指向之前的元素即可。

 听起来不错是吧?
 其实用起来也不错!(当然这里指的是单向列表)

 而python是这么干的,他存放list结构是一整块内存,试想你买了一桶羽毛球的球 然后你想要取出倒数第二个,想想都是xxxxxx

 具体到insert操作上面来,原则上来说,每一次insert操作都要移动其右边所有的元素,甚至有的时候还会重新建立一个新的内存空间。为了避免这样,通常会采用动态数组这个概念,核心是刚开始创建的时候,分配一个更大的内存

 听起来很扯,而且想想 这样让append跟insert的操作,变得很近似,但是实际上这样的行为的确能降低成本。

 我对于list的建议是,如果你有经常操作的,甚至操作量大的要求,那么放过list吧。

 

python日常-list

标签:

原文地址:http://www.cnblogs.com/nerdlerss/p/5628431.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!