本文摘自php中文网,作者青灯夜游,侵删。
Python是一种非常灵活的语言,可以通过多种方式执行单个任务,例如,可以通过多种方式执行初始化列表。下面本篇文章就来带大家了解几种Python初始化的方法,并比较一下这几种方法的效率,希望对大家有所帮助。下面我们就来介绍在Python中初始化列表(我们创建大小为1000并使用零初始化的列表)的一些方法。
方法一:使用for循环和append()
我们可以创建一个空的列表,并使用append()方法通过for循环n次来将元素添加到列表中。
1 2 3 |
|
方法二:使用带计数器变量的while循环和append()
这和方法一有点类似,但是我们使用while循环代替for循环。
1 2 3 4 |
|
方法三:使用列表推导(List Comprehension)
列表推导(List Comprehension) 是一种数学家用来实现众所周知标记集合的Python方式。它由方括号组成,包含一个表达式,后跟一个for子句,后面跟一个可选的if子句。
表达式可以是我们想要放入列表中的任何类型的对象;由于我们用零初始化列表,因此我们的表达式将只为0。
1 |
|
说明:用列表推导可以编写高效率的代码,它的执行速度比for循环快35%。
方法四:使用*运算符
运算符可以用作[object] * n,其中n是数组中元素的数目。
1 |
|
代码执行时间比较
下面我们来看看这四种方法的执行时间,看看那种方法更快。
示例:我们将计算每种方法在500次上初始化10000个元素的数组所花费的平均时间。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
|
输出:
注意:时间将根据执行此代码的平台而有所不同。这些时间仅用于研究这些初始化方法的相对性能。
● 可以看出,for和while循环所用时间几乎相同。
● 列表推导的性能比for和while循环要好得多,前者的速度要快3-5倍。当我们尝试创建1-1000的数字列表时,可以看到另一个这种差异的例子。使用列表推导比使用append()要好得多。
1 |
|
● 使用*运算符比其余方法更快,这是您应该初始化列表的方式
相关视频教程推荐:《Python教程》
以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!
以上就是Python如何初始化列表?的详细内容,更多文章请关注木庄网络博客!!
相关阅读 >>
Python 通过logging写入日志到文件和控制台的实例
Python字典之中len方法是什么?len方法有什么作用?
更多相关阅读请进入《Python》频道 >>

Python编程 从入门到实践 第2版
python入门书籍,非常畅销,超高好评,python官方公认好书。