序列是一种数据结构(线性表),类型有列表和元组两种,列表可以修改,元组则不能(字典的键)
通用的序列操作(内建函数)有:索引、分片、加、乘、迭代、检查某个元素是否为序列的成员(成员资格)、计算序列长度,最大元素和最小元素
①索引
# 字符串是一个有字符组成的序列,索引号为负数时表示从序列的末尾开始向前数,最后一个元素索引号是-1,然后是-2,-3........
# 如果一个函数调用返回一个序列,则可对返回结果直接进行索引操作,如,只需要返回的年份的第四个数字
# 小程序
# 功能:打印年月日
② 分片
# 第一个数字表示分片后显示的第一个元素的索引号,
# 第二个数字表示分片后显示的最后一个元素的下一个元素的索引号(即该索引号对应的元素并不会被打印出来)
# 若从后往前打印,省略第二个索引号可包含最后一个元素,否则不会包含,从前向后打印也适应这个规则(步长为负时实现从后向前打印),复制整个序列则可两个索引号都置空。
# 注意:若第二个索引号指向的元素在第一个索引号指向的元素之前,则打印结果为空。即分片只能按序单向打印
# 分片步长可以更改,默认步长是1,因此分片时首先对序列的每个元素进行遍历然后再根据分片索引号进行输出。
# 步长更改之后,遍历过程就会跳过某些元素,例如,步长为3,则只访问第一个,第四个,以此类推
# 步长不可为0,但可以是负数,是负数时,则表示从后向前遍历(也从后向前提取),同样,索引号要按遍历的方向增大(适应单向打印规则)
# 小程序
# 功能:提取域名(域名形式为htttps://www.domainname.org)
③序列相加
# 列表可以相加。值得一提的是列表和字符串虽然都是序列,但类型不一致,故而列表和字符串不能直接相加
#字符串也是序列类型,所以字符串和字符串之间也可相加。(前面已经用了很多次了)
#偷偷告诉你,print和raw_input()两个函数是不会检查你输入的内容是否合法的,所以你输入中文也是可以的。
④序列的乘法
# 序列直接乘以数字n,得到的新的序列中,原来的序列内容会重复n次
# 小程序
# 功能:以正确的宽度在屏幕上居中的小盒子内打印句子
在文本编辑器中敲入以上的代码,将文件保存为.py格式。在文件所在的文件夹上运行python (选中文件夹,按住shift键并点击鼠标右键,点击在此处打开命令窗口,输入python,再输入import xxx.py)。另外也可以直接使用IDE进行编译,比如Pycharm。
⑤成员资格
# 运算符:常用于权限检查,用户登录,邮件管理(垃圾邮件检查)等权限类&安全类程序中。
# 小程序
# 检查用户名和pin码
新建文本保存为.py,运行操作如前述。运行结果如下
也可直接在解释器中执行该程序,但“舒适度”不如上面的方法。
⑥计算序列的长度,最大元素和最小元素
# 内建函数:len(),max(),min()
# len()函数的参数为序列;max(),min()函数的参数可以是序列,也可以直接以多个数字作为参数
# 前面定义了序列numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
#小程序
#功能:欢迎致意
也可直接在解释器中敲入代码,同样的只是“舒适度”不一样。如下:
# 上面的程序执行中,当输入的是空格时,程序也会接受这个空格作为名字,即出现了瑕疵。(原因在于raw_input()函数不会对输入内容的合法性进行检查)
# 空格造成的瑕疵,可改写成以下两种进行完善。
#方法1中xxx.isspace()函数用于检测参数xxx是否为空格字符,也就是判断是否为空格(' ')、水平定位字符('\t')、归位键('\r')、换行('\n')、垂直定位字符('\v')或翻页('\f')的情况。若参数xxx为空格字符,则返回TRUE,否则返回NULL(0)。
#方法2中xxx.strip()函数的语法形式为str.strip([chars]),作用是去除掉字符串首尾指定的字符。若不指定需要去除的字符,则默认去除字符串首尾的空格。
领取专属 10元无门槛券
私享最新 技术干货