专题前言
之前在参与实际项目开发的时候,常常遇到程序效率的问题,虽然功能实现了,但是由于时间性能或空间性能不够优良而影响了项目开发周期,甚至是根本无法投入使用。
在自己有限的开发经历中,也遇到过不少编程的小细节,比如这样写可以,那样写也可以,那么区别到底是什么,哪种更好,这类问题一直没有好好深究,现在是个契机,以后也应养成习惯。
在这段gap的时期,我计划每天在代码优化方面进步一点点,逐渐成长为一个senior coder。
List in Python
List是Python中一个常用的数据结构,是一个有序的、可变的、动态的、可嵌套的、可包含任意类型的“灵活”的数组,既然是数组,就可以用下标访问,之所以说灵活,在于它可以包含任意类型的元素,比如以下定义是OK的:a = ["ddd",1,2,5.55]
参考[1]总结其特性为:
·Lists Are Ordered
·Lists Can Contain Arbitrary Objects
·List Elements Can Be Accessed by Index
·Lists Can Be Nested
·Lists Are Mutable
·Lists Are Dynamic
进入[1]可以了解到更多详细的内容,讲的很清楚。
Use Tupple more!
Tupple是Python中特有的数据结构,就特性来说,它具有list所具有的以上所有特性,除了:::Tupple中的元素是不可变的
你如果尝试修改它:>>> t = ('foo', 'bar', 'baz', 'qux', 'quux', 'corge')
>>> t[2] = 'Bark!'
就会报错:
Traceback (most recent call last): File "", line 1, in t[2] = 'Bark!'TypeError: 'tuple' object does not support item assignment
Why Tuple:
1. 在程序中,操作tuple比操作list效率更高,尤其是在大数据量情况下。
原因是:元组缓存于 Python 运行时环境,这意味着我们每次使用元组时无须访问内核去分配内存。——摘自《Python高性能编程》
而列表却不是。
2. Tuple的不可修改性能够在需要的时候保证代码安全性。
So try to use tuple more! Read [1] for more infomation.
参考