不知不觉已经正式学习接触Python两周了,第二周主要开始了Python内置数据结构的学习,包括从一开始的列表list,元组tuple,字符串string,再到后来的bytes, bytearray, 以及最后的集合set。这些数据结构可以说Python最为基础的几种类型,想要用Python写出漂亮的代码离不开对他们的熟练掌握与深刻理解。这几个结构各有各的特点,有一些共同点,比如有序性,可索引,可修改等一些性质,也有一些他们各自独有的特点,比如set中的元素不可重复,利用好它的这一特点就可以很好地对目标元素进行去重操作。另外,我们需要牢记每个结构自身最基本的特点,尤其不能弄混,并且对于每一次结构的输出类型要有特别清晰的判断,只有这些基本点了解清楚了,写代码的时候才不会冗余,不会出错,能够写的简练,易懂,给人耳目一新的感觉。
另外,在本周的数据结构学习过程中,我们首次接触到了时间复杂度的概念。对于每种类型进行操作的时间复杂度决定了我们代码的效率,因此,如何能够避免过高的时间复杂度是在我们能够写出代码,执行代码之后优化的第一要务。虽然在初学阶段,能不能写出代码,能不能顺利执行是我们的第一大关,但倘若我们使用了一般的方法实现了目标,那么下一步必然要审视自己的代码,进行效率审查。如果有明显的效率问题,它虽然是“一只能抓到老鼠的猫”,但未必是“一只真正的好猫”。而成为“一只真正的好猫”是我们提升竞争力的重要途径,我们只有在不断优化算法,不断提升效率,尽可能接近最优算法之后,才能自豪地说一句:“我不但能抓老鼠,我还是一个有效率的好猫。”
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/94033