Python字符串的连接、替换、截取,以及字符串格式化输出,引号
来源:互联网 发布:数据损坏修复 编辑:程序博客网 时间:2024/06/05 20:45
一、字符串的连接
(1)以下这种方法效率比较低,一般刚开始学时有可能会犯这个错误:
s = ['a','b','c','d']content = ' ' for i in a:content = content + i#在循环连接字符串时,每连接一次,就要重新开辟空间print content
每次连接成新字符串之后就要存放到新的空间,这样反复,内存操作频繁,每次都要计算内存空间,然后开辟内存空间,在释放内存空间,效率非常低。在操作数据量比较多的时候,这个方法就很不适用了。
以下两个方法比较优化一点:
(2)用字符串的join方法:
s = ['a','b','c','d']content = ' 'content = ''.join(s) #引号之间可以添加连接符或不添加
print content
(3)用字符串的替换占位符替换:
a = ['a','b','c','d']content = ' 'content = '%s%s%s%s' % tuple(a)print content
二、字符串分割
s = 'a,b,c's1 = s.split(',') #s1=['a','b','c']print(type(s1)) #<type 'list'>也有splitlines()按行分割,相当于就是将split('\n')
还有.startswith(‘abc’)、.endswith(‘abc’)、.isalnum()是不是数字和字母、.isalpha()是不是字母、.isdigit()是不是数字、.isspace()是不是空串、.islower()是不是都是小写、.isupper()是不是都是大写、.istitle()是不是首字母大写等函数用于判断。
二、字符串替换
字符串的替换一般我们会用到下列两种方法。例子a = ‘hello world’,把字符串中的world换成python
(1)用字符串本身的replace方法实现
a.replace('world','python')
(2)用正则表达式来替换
import restrinfo = re.compile('world')b = strinfo.sub('python',a)
三、字符串截取
python字符串是有序集合,我们可以通过索引提取想要的字符,可以把python的字符串当做字符列表来理解
python的字符串列表有2种取值顺序:(1)从左至右索引默认从0开始,最大范围时字符串长度减1;(2)从右至左索引默认从-1开始,做大范围就是字符串开头
s = 'ILovePython'
s[0]的结果是I,s[-1]的结果是n
连续字符串的读取:s[1:5]的结果是Love,s[:-1]的结果是ILovePytho,s[:]的结果是ILovePython
四、字符串去空格、大小写、位置比较
字符串可以当做数组被访问,但是不能被修改,如下面经过去空格之后,s原字符串不会被修改
s = ‘ abc def ’
print(s.trip())#去除前后空格 :abc defprint(s.lstrip())#去除左边的空格:abc def__print(s.rstrp())#去除右边空格:___abc defprint(s)#s没有被修改
s = 'abcDEF'print(s.upper())#全部大写:ABCDEFprint(s.lower())#全部小写:abcdefprint(s.capitalize())#首字母大写:AbcDEF
在python3中字符串比较没有cmp函数,直接用大于小于等于(==,>,<)进行比较
s1 = ‘abcdefg’s2 = ‘aaaaaaa’print(s1.index(‘abc’))try:print(s2.index('abc'))except ValueError:pass
五、字符串格式化输出
(1)元组占位符
m = ‘python’astr = ‘i love %s’ % mprint astr(2)字符串的format方法
m = 'python'astr = 'i love {python}'.format(python=m)print astr
(3)字典格式化字符串
m = ‘python’astr = ‘i love %(python)s’ % {'python:m'}print astr
(1)引用
python一般内部赋值变量的话,都是传个引用变量,这和C语言的传址的概念差不多。举个例子:a=[1,2,3]表示变量a保存了这个列表的地址,可以使用id()来查看a的内存地址。将b = a,打印出来的内容和地址和a是一样的。这是因为变量a和变量b都是保存了同一个列表的地址,对a、b中的一个进行修改的话,另外一个同时也会跟着变化。
(2)拷贝
而如果我们使用拷贝的话,修改a或b,另外一个不会被修改。这是因为拷贝是另外开了一个地址。
a=[1,2,3]
b = a[ : ] #将a的内容拷贝给b
a[0]=0
a结果是[0,2,3],b的结果还是[1,2,3]
七、python单引号、双引号、三引号的区别
python的字符串可以用单引号括起来,也可以用双引号括起来,有了这两种表示方式,就可以不用转义字符了。比如a=“i love 'python'”和a="i love /'python/'"其实打印出来是一样的,但是第一种两种表示方式的嵌套引用可以不想第二个那样还要用转义。
而三引号的形式是用来输入多行文本的,也就是说在三引号之间输入的内容将被原样保留,字符串中间的单引号、双引号不用转义,不可见字符串如/n、/t等也都会被保留。比如:
a='''%(name)s is a good boy,his age is %(age)s'''b = a % {'name':'xiaoming','age':'20'}
print b的结果是:
xiaoming isa good boy,his age is 20
- Python字符串的连接、替换、截取,以及字符串格式化输出,引号
- python字符串连接,截取,替换操作
- python字符串的截取和替换
- python 字符串格式化 输出
- python字符串格式化输出
- Python字符串格式化输出
- python字符串截取与替换
- Python第一课,字符串的格式化输出
- Python的字符串的引号
- SQL中字符串截取、连接、替换等函数的用法
- js字符串的截取,替换
- 字符串的截取和替换
- JSTL截取字符串以及格式化时间
- JSTL截取字符串以及格式化时间
- JSTL截取字符串以及格式化时间
- JSTL截取字符串以及格式化时间
- python字符串连接与截取
- python字符串格式化输出1
- Oracle正式发布Java 9,引入新的Java编程组件
- web项目直接访问WEB-INF下的文件
- solr(一) solr5.5 搭建
- 第五周项目一 建立顺序栈算法库
- static_cast/const_cast
- Python字符串的连接、替换、截取,以及字符串格式化输出,引号
- 数据库工具phpmyadmin
- Android studio 手动导入包或自动导入包 import
- java中
- 关于“#ifdef __cplusplus” 和 " extern "C" 的问题
- 4.垃圾收集器与内存分配策略
- Android开发技巧之使用自定义注解
- 第五周项目1
- morphia--更方便操作MongoDB