导语 在之前的博客分享中提到了关于字符串的一些内部函数的使用,这篇博客来总结下在Python中对于字符串的其他的操作。
上篇博客中提到了有Python提供的对于字符串的一些操作函数加起来一共有二十多个,其中最为主要的就是对于字符串的分割以及拼接,在实际开发的过程中对于字符串的操作无非就是这些处理操作。下面就来看看在Python中还有那些对于字符串的操作。
在其他语言中我们都知道在存储字符串的时候C语言底层是用一个字符数组来存储的也就是说可以通过数组下标来获取到某个字符串中对应的字符。例如
test = "nihui" v = test[0] print(v)上面这段代码返回的结果是 n,也就是说通过索引下标的方式来获取到字符串中的某一个字符。索引从0开始标记了每个字符的位置。
上面这种方式是获取字符串中某一个字符,当然也可以使用下面这种方式获取到字符串中的一部分值
test = "nihui" v = test[0:2] print(v)上面这种方式获取到的的是从索引下标为0开始到1两个位置的值。
test = "nihui" v = test[0:-1] print(v)上面-1的意思是从后面开始选择对应的位置 上面这些操作从整体上将有一个名字叫做切片
表示获取当前字符串中有几个字符组成,在Python3中可以识别中文,但是在Python2中对于中文的处理与Python3中是不一样的
test = "nihui" v = test[0:-1] print(v) v1 = len(test) print(v1) test1 = "倪辉" v2 = len(test1) print(v2)在使用len()和join()的时候,在传入参数时候可以传入任意值。例如下面这段代码
test = "fafdahfakakdjf;ahfakjjladsads"; v = test.split("a") print(v)如果执行这段代码最后获取到的数据是使用中括号括起来的数据,在Python中将这种数据称为是列表。在使用len() 的时候,对于列表长度的计算是通过逗号进行分隔。
利用索引和循环将所有的字符获取到
test = "操作一个高级操作" index = 0; while index<len(test): print(test[index]) index +=1;通过for循环来操作字符串中的数据
test = "这个操作很六" for z in test: print(z)字符串一旦在内存中创建就不可修改,如果需要修改,就需要重新创建一个字符串,如下图所示。在内存中的操作并不是在原来的基础上进行拼接的。而是新开辟了一块内存空间
如果要对其中的一个字符进行修改的话整个内存的调整会非常大,所以说会重新生成一个字符串,这样的操作在其他的编程语言中也是适用的。
可以传入最后一个参数表示遇到第几个的时候进行修改,也就是说如果匹配多个的话只修改其中的几个。
test = 'nihuinihuinihui' v = test.replace("ih","bbb") print(v) v1 = test.replace("ih","AAA",1) print(v1)执行结果
在如下的代码中可以使用break和continue,在While循环中可以使用在for循环中也可以使用。
test = "这个是一个测试语句" for item in test: print(item) break; for item in test: continue print(item)在python2中使用range的时候回在内存中创建对应的值,但是在python3 中并不会直接创建,而是在使用for循环的时候才会被创建。在python中也是如java中一样,有自己的内存管理机制。
v = range(100) print(v) for item in range(100): print(item) # 第一个参数表示开始位置 # 第二个参数表示结束位置 # 第三个参数表示步长 for item in range(0,100,5): print(item)获取用户输入的数据并且按照顺序进行打印
# 等待用户输入 test = input(">>>") print(test) # 获取到用户长度 l = len(test) print(l) # 打印字符 r = range(0,l) for item in r: print(item) print(test[item])到这里基本的数据类型字符串的用法以及基本操作就已经分享完了,这是最基础的字符串类型的分享,后续的分享中,还会有关于列表、元组、字典的有关知识进行分享。希望大家可以继续关注。
