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


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 滚筒洗衣机坏了打不开门怎么办 海尔滚筒洗衣机打不开门怎么办 格兰仕滚筒洗衣机门打不开怎么办? lg洗衣机洗完衣服门打不开怎么办 lg洗衣机不能冼衣服怎么办 vivo账户密码忘记了怎么办 oppo账户密码忘记了怎么办 74160从1开始计数怎么办 微信录音声音小怎么办 word文档已停止工作怎么办 怀孕30天不想要怎么办 一楼墙体起碱怎么办 农村平房顶四墙面渗水怎么办 被蝎子精蛰了怎么办 小娃头摔包要怎么办抹个什么 老人死了银行钱存死期怎么办 飙酷车神2一进画面就闪退怎么办 电脑开机键盘鼠标没反应怎么办 玩gta4自由城卡怎么办 gta5游戏服务当前不可用怎么办 健身后胳膊变粗怎么办 健身后手臂变粗怎么办 家猫见到我就跑怎么办 走路多了小腿酸痛怎么办 脚有脚气很痒怎么办 地板精油喷多了怎么办 史莱姆泥变硬了怎么办 dnf剑帝命中率低怎么办 无意中讲话伤害了人怎么办 高中上不下去了怎么办 高三坚持不下去怎么办 word点了不保存怎么办 做了ppt没保存怎么办 中班安全教案迷眼了怎么办 美的空调尘满怎么办 高考报名系统密码忘记怎么办 高考理综8题怎么办 高三了语文很差怎么办 高三了语文成绩差怎么办 供太岁初一忘了怎么办 高一英语100多分怎么办