包含Lecture 10 & 11
一、序列
一般序列可能具有的特性:
有限/无限性、可变/不可变性、可索引/不可索引性、迭代/不可迭代性
Python中的一些序列
PS:range的括号内变量取法和切片操作的变量取法是一致的。
序列之间也可以相互转换。例如:
二、字符串
1、引号
下面是字符串的一些使用方法(单引号、双引号、三引号)
2、切片
字符串切片的语法是:str[<start>:<end>:<step>]
<start>
是字符串的开始,<end>
是字符串的结尾,<step>
是截取的步长。
这三个参数都有一个对应的默认值,分别是0、-1、1。当step为-1时,start和end的默认值相反。(因为是反向切片,所以要从尾端往前切)
字符串中索引的表示
一些字符串切片的示例
值得注意的是,在python中,[1:4]
表示从1到4,包含首端,不包含尾端。类似的有:range(1,4)
= (1,2,3)
这在python或其他编程语言里算一种不成文的规定。
当然,切片不仅限于字符串,其他序列也可以使用切片功能。
三、使用序列迭代:For循环
1、for与while
for循环的本质是语法糖,以一种方便的方法省略了while循环中计数器的存在。
|
|
如果要实现不同的步进的话,只需要更改in后序列的切片即可,非常方便!
|
|
2、多变量赋值
也就是x,y = (1,9)的形式。这意味着等号右边一定是一个序列,且序列内的元素个数与左边变量个数相等。
3、通过切片来更改序列
4、使用if迭代for循环
其实如果你不加if,expression也能正常运行。这样你就拥有了一个一行内的for循环。
5、循环的嵌套(同一行)
可以看出python真是很自由的语言
小技巧
用zip函数结合两个序列