在我们学习使用Python的过程中,经常要使用到字符串去处理很多问题,尤其是在处理一些算法题的格式转换的时候,字符串的操作方法有很多,接下来的几节就来仔细介绍一下字符串的使用方法。

1. 原始字符串

在前面的字符串学习中简单的提到过字符串的转义符,我们经常会在代码中穿插一些转义符去实现一些代码的换行回车等,我们在数据分析的时候经常要用到原始字符串方法,在这里我们介绍一下原始字符串。

我们看下面几行代码:

>>> print('www.dotcpp.com\n','学习乐园')
www.dotcpp.com
 学习乐园
>>> print(r'www.dotcpp.com\n','学习乐园')
www.dotcpp.com\n 学习乐园

第一行代码中的‘\n’在输出的时候被实现,因此实现了换行操作。

第二行代码输出的字符串前有‘r’,因此在输出的时候只会输出原始字符串,无论字符串中包含什么转义符,都不会被实现。

2. 访问字符串

我们在学习的过程中会遇到访问字符串中每个字符的问题,因此我们需要使用循环来访问字符串中的每个字符,我们通常使用for循环索引来访问。

使用for循环来访问字符串的格式为:

for i in my_str

我们来看个例子:

>>> my_str = 'www.dotcpp.com'
>>> for i in my_str:
...     print(i,end=' ')
...
w w w . d o t c p p . c o m

我们通过循环的方式访问了字符串中的每一个元素。

字符串同样采用了索引的方式,因此我们在访问字符串的字符的时候同样可以采用索引的方式来访问。

看下面代码:

>>> my_str = 'www.dotcpp.com'
>>> for i in range(len(my_str)):
...     print(my_str[i],end=' ')
...
w w w . d o t c p p . c o m

我们在前面介绍过range(len())这个结构,在这里再次解释一下,range()是一个对象,而len()是求长度,len(my_str)求出了字符串的长度,然后range(len(my_str))的对象就是0到字符串的最大长度减1。

i为我们每次获取的值,从0依次取到字符串长度的最大值减1,然后通过索引值输出my_str[i],从而获取到了每个元素。

我们可以随意索取几个元素:

>>> my_str
'www.dotcpp.com'
>>> my_str[5]#索引值为5的字符
'o'
>>> my_str[0]#索引值为0的字符,也就是第一个字符
'w'
>>> my_str[len(my_str)-1]#索引值为最后一位的字符
'm'
>>> my_str[-1]#这种方式也是访问最后一个字符
'm'

在使用字符串的时候合理的使用len()函数能够优化我们的代码。

3. 字符串连接

字符串自带连接方法,在连接的时候我们可以使用‘+’直接连接或追加一个字符串到另一个字符串的末尾。

看下面的例子:

>>> my_str
'www.dotcpp.com'
>>> his_str = '人生苦短,我用Python'
>>> my_str + his_str
'www.dotcpp.com人生苦短,我用Python'

通过‘+’可以直接进行字符串的连接,连接之后生成的是一个新的字符串,原字符串并没有发生改变。

4. 字符串切片

我们在前面列表的使用过程中多次使用到切片,字符串同样可以使用切片表达式来获取字符串中的部分字符,同时我们可以通过切片的方式直接进行字符串的逆置。

看下面的例子:

>>> my_str                   
'www.dotcpp.com'
>>> my_str[0:2]#通过切片访问0-1
'ww'
>>> my_str[3:6]#3-5
'.do'
>>> my_str[7:10]#7-9
'cpp'
>>> my_str[::2]#步长为2的访问整个字符串
'wwdtp.o'
>>> my_str[::-1]#逆置字符串
'moc.ppctod.www'

下一节学习几种字符串中常用的方法。


点赞(1)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)