Python第二周小结

不知不觉已经正式学习接触Python两周了,第二周主要开始了Python内置数据结构的学习,包括从一开始的列表list,元组tuple,字符串string,再到后来的bytes, bytearray, 以及最后的集合set。这些数据结构可以说Python最为基础的几种类型,想要用Python写出漂亮的代码离不开对他们的熟练掌握与深刻理解。这几个结构各有各的特点,有一些共同点,比如有序性,可索引,可修改等一些性质,也有一些他们各自独有的特点,比如set中的元素不可重复,利用好它的这一特点就可以很好地对目标元素进行去重操作。另外,我们需要牢记每个结构自身最基本的特点,尤其不能弄混,并且对于每一次结构的输出类型要有特别清晰的判断,只有这些基本点了解清楚了,写代码的时候才不会冗余,不会出错,能够写的简练,易懂,给人耳目一新的感觉。

另外,在本周的数据结构学习过程中,我们首次接触到了时间复杂度的概念。对于每种类型进行操作的时间复杂度决定了我们代码的效率,因此,如何能够避免过高的时间复杂度是在我们能够写出代码,执行代码之后优化的第一要务。虽然在初学阶段,能不能写出代码,能不能顺利执行是我们的第一大关,但倘若我们使用了一般的方法实现了目标,那么下一步必然要审视自己的代码,进行效率审查。如果有明显的效率问题,它虽然是“一只能抓到老鼠的猫”,但未必是“一只真正的好猫”。而成为“一只真正的好猫”是我们提升竞争力的重要途径,我们只有在不断优化算法,不断提升效率,尽可能接近最优算法之后,才能自豪地说一句:“我不但能抓老鼠,我还是一个有效率的好猫。”

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/94033

(1)
guoxingxingguoxingxing
上一篇 2018-03-31 15:53
下一篇 2018-03-31 16:11

相关推荐

  • Centtos7搭建ftp服务

    Centtos7搭建ftp服务 下载安装软件包 yum -y install vsftpd   开启启用ftp服务 systemctl start vsftpd    #设置立即启用该服务 systemctl status vsftpd   #查看该服务当前运行状态 systemctl enable vsftpd   #设置开机自动启用该服务 systemc…

    Python笔记 2018-07-07
  • 封装与解构 集合

    封装和解构 封装:将多个值进行分割,结合在一起,本质上返回元组,只是省掉了小括号 ‘==‘意思为内容一致,‘=’意思为内存空间一致 解构:把线性结构的元素解开,并顺序的赋值给其他变量,左边接纳的变量数要和左边解开的元素数量一致 集合不是非线性 解构中使用*变量名接收,但不能单独使用,被*变量名收集后组成一个列表 第一个下划线为9,结果被第二个下划线重新赋值为…

    Python笔记 2018-04-01
  • 树 非线性结构,每个元素可有多个前驱和后继 树是n(n>=0)个元素的集合,n=0时,称为空树,树只有一个特殊的没有前驱的元素,称为树的根root,树中除了根结点外,其余元素只能有一个前驱,可以有零个和多个后继,子树也有自己的根 结点:树中的数据元素 结点的度degree:结点拥有的子树的数目称为度,记作d(v)。树的度是树内各结点的度最大值 叶子结点…

    2018-04-16
  • 第一周作业

    linux基础

    Python笔记 2018-05-12
  • Python函数返回值、作用域以及树的概念

    Python函数返回值、作用域以及树的概念

    Python笔记 2018-04-15
  • python学习总结

    内建函数、函数、插入排序、树

    2018-04-15