2018.01.09

控制流

if、elif和else

for循环

break关键字用于使for循环完全退出

while循环

只要条件不为false或循环没有被break显式终止,则代码块将一直不断地执行下去

pass

空操作语句,可以被用在那些没有任何功能的代码块中 (Python是根据空白符划分代码块的)

异常处理

许多函数只对特定类型的输入有效,如果输入值不正确机会产生ValueError,输入参数不是字符串或者数值,可能产生TypeError,意味着你的程序存在合法性bug


2018.01.09_第1张图片
image.png

2018.01.09_第2张图片
image.png

2018.01.09_第3张图片
image.png

2018.01.09_第4张图片
image.png

2018.01.09_第5张图片
image.png

2018.01.09_第6张图片
image.png

range和xrange

range函数用于产生一组间隔平均的整数,range(起始值,结束值,步长)

range产生的整数不包括末端值,range常用于按索引对序列进行迭代,对于非常长的范围,建议使用xrange,其参数和range一样

三元表达式

value=true-expr if condition else false-expr

如果条件以及true和false表达式非常复杂,就可能牺牲可读性

数据结构和序列

元组

元组是一种一维的、定长的、不可变的Python对象序列
通过调用tuple,任何序列或迭代器都可以被转换为元组
元组的元素可以通过方括号[]进行访问,索引从0开始
存储在元组中的对象本身可能是可变的,但一旦创建完毕,存放在各个插槽中的对象就不能再被修改了
元组可以通过加号连接起来已产生更长的元组
跟列表一样,对一个元组乘以一个整数,相当于是连接该元组的多个副本

元组拆包

如果对元组型变量表达式进行赋值,Python就会尝试将等号右侧的值进行拆包

元组方法

最有用的是count方法(计算指定值的出现次数)

列表

变长,内容可以修改,可通过[]或list函数进行定义

添加和移除元素

通过append方法,可以将元素添加到列表的末尾
利用insert(位置,元素)可以将元素插入到列表的指定位置
insert的逆运算是pop(位置)用于移除并返回指定索引处的元素
remove用于按值删除元素,它找到第一个符合要求的值,然后将其从列表中删除
通过in关键字,可以判断列表中是否含有某个值

合并列表

用+即可
对于一个已定义的列表,可以使用extend方法一次性添加多个元素(推荐)
调用列表的sort方法可以实现就地排序(无需创建新对象)
sort的次要排序键能够产生用于排序的值的函数


2018.01.09_第7张图片
image.png

2018.01.09_第8张图片
image.png

二分搜索及维护有序列表

bisect.bisect 找出新元素应该被插入到哪个位置才能保持原列表的有序性
bisect.insort确实地将新元素插到那个位置上去


2018.01.09_第9张图片
image.png

切片

通过切片标记法,可以选取序列类型的子集,基本形式由[start位置:stop位置]
切片还可以被赋值为一段序列
元素数量=stop-start


2018.01.09_第10张图片
image.png

2018.01.09_第11张图片
image.png

2018.01.09_第12张图片
image.png

内置的序列函数

enumerate

逐个返回序列的(i,value)元组;
可以求取一个将序列值(假定是唯一的)映射到其所在位置的字典

sorted

可以将任何序列返回为一个新的有序列表


2018.01.09_第13张图片
image.png

image.png

zip

zip用于将多个序列(列表、元组等)中的元素“配对”
可以接受任意数量的序列,最终得到的元组数量由最短的序列决定
可以同时迭代多个序列,还可以结合enumerate一起使用


2018.01.09_第14张图片
image.png

zip可以对于已压缩的序列进行解压(将一组行转换为一组列)


2018.01.09_第15张图片
image.png

reversed

按逆序迭代序列中的元素


image.png

你可能感兴趣的:(2018.01.09)