一、字符串
与 C语言相比,Python没有字符类型,只有字符串类型。
Python中的字符串是用双引号或单引号包裹的一串字符。如:
注意到最后三个的单双引号是嵌套使用的,但是最后一个的使用方法是错误的,因为当我们混合使用两种引号时必须有一种用来划分字符串的边界,即在两边的引号不能出现在字符串当中,否则 Python解释器会报错。
1. 截取字符串
其他的语言中一般将截取字符串定义为一个方法,比如 C语言中的 substr方法就可以返回字符串指定位置之间的一个字串。
但是在 Python中我们采用一种更简洁直观的方式,看如下代码:
在 Python中字符串被视为一个可迭代的对象,可迭代指实现了 iter接口,可以直接使用 语法的对象,简单来讲可以把字符串看作一个存储字符的数组。
所以当我们打印 时会将字符串的第一个字母打印出来。
Python还为字符串切片提供了非常便利的操作,比如:
表示 s中第二个及以后的所有字符。
表示 s中第二个到到第四个字符之间的所有字符(包括前者但不包括后者,即包括第二个但不包括第四个)。
表示从 s中第二个字符开始取,每移动两个字符取一个,所以我们取到的结果是第 2、4、6、8、10个字符。
当给出的数字为负数时,表示从字符串的末尾开始计数,所以 表示字符串倒数第一个字符。
这里使用 -1表示倒数第一个字符,0表示正数第一个字符(因为没有 -0)。
当 后面的数字为正时表示从左到右计数,为负数时表示从右到左计数。
2. 拼接字符串
拼接字符串我们直接使用 ,如:
3.字符串的常用方法
1. :接受一个编码字符串作为参数,返回编码后的二进制编码,如:
2. :一给定的字符串 spl将原字符串分割为多个字串,并返回一个字串列表,如: ,结果为:
3. :去除字符串两端的空字符(包括换行、空格、制表符等其他不可见的符号), 和 则分别去除字符串左边和右边的空字符。
4. :替换字符串中的某些字串,要替换的字串通过 old给出,用来替换的字串通过 new给出,如: 的结果为
5. :用原字符串将给定的列表拼接成一个字符串。 如: 的结果就是 .
二、列表
Python中的列表和数组类似,不过与数组只能存储一种元素相比,一个列表中可以存储任意元素,比如:
在列表 l中我们存储了三种数据类型,分别是字符串、整数和列表
与数组相同的是,我们可以使用下表来访问列表中的元素,比如:
同样,如果访问了一个不存在的下标,程序就会抛出 IndexError错误。
1. 截取列表
截取列表的操作和截取字符串的操作完全相同,可以参考截取字符串。
2. 合并列表
合并列表可以像拼接字符串一样使用 将两个列表合并,如:
也可以使用 方法将要合并的列表直接追加到原来的列表后面。
注意: 方法没有返回值,这个方法直接在原来的列表上进行操作。
3. 列表的常用方法
1. :向列表尾部添加一个元素
2. :向列表中特定的位置插入一个元素,原来在那个位置的元素及其后面的所有元素均向后移动一个位置。
3.:返回所给元素在列表中从左到右第一个匹配的元素的位置,若所给元素不在列表中则抛出 ValueError错误。
4.:将从左到右第一个匹配的元素从列表中移除,如果所给值不在列表中则抛出 ValueError错误。
5. :将列表中的元素进行排序,直接在原列表中进行操作,没有返回值。
6. :从列表的右边取出一个元素,并将该元素从列表中移除。
7. :反转列表,如:
8.关键字 in的使用:可以用关键字 in来判断一个元素是否在列表中,如:
9.for遍历列表, 如:
三、练习
1. 日期格式转换
有多种日期格式:2018/10/28、2018.10.28、20181028、2018-10-28
现在我们需要编写一个程序将前三种格式转换为第四种格式。
要求:
1.不能使用 python类库
2.将代码封装成一个函数: 接受一个字符串输入,输出第四种日期格式
3.需要处理不规范输入引起的错误,当遇到不规范输入时抛出 ValueError错误并给出提示
2. 双向队列
现有函数签名:
该函数实现的功能是:当 direction的值为 时从列表的左边取出一个元素返回,当 direction的值为 时从列表的右边取出一个元素返回,当列表为空时返回 。
要求:
1.在取出元素前后列表原有的元素排列方向不变
2.当 direction的值非法时抛出 ValueError错误并给出提示
领取专属 10元无门槛券
私享最新 技术干货