Python 字符串改变
在Python中,字符串是不可变类型,即无法直接修改字符串的某一位字符。
因此改变一个字符串的元素需要新建一个新的字符串。
常见的修改方法有以下4种。
方法1:将字符串转换成列表后修改值,然后用join组成新字符串
1
2
3
4
5
6
7
8
9
10
11
|
>>> s = 'abcdef' #原字符串 >>> s1 = list (s) #将字符串转换为列表 >>> s1 [ 'a' , 'b' , 'c' , 'd' , 'e' , 'f' ] #列表的每一个元素为一个字符 >>> s1[ 4 ] = 'E' #将列表中的第5个字符修改为E >>> s1[ 5 ] = 'F' #将列表中的第5个字符修改为E >>> s1 [ 'a' , 'b' , 'c' , 'd' , 'E' , 'F' ] >>> s = ''.join(s1) #用空串将列表中的所有字符重新连接为字符串 >>> s 'abcdEF' #新字符串 |
方法2: 通过字符串序列切片方式
1
2
3
4
5
6
7
|
>>> s = 'Hello World' >>> s = s[: 6 ] + 'Bital' #s前6个字符串+'Bital' >>> s 'Hello Bital' >>> s = s[: 3 ] + s[ 8 :] #s前3个字符串+s第8位之后的字符串 >>> s 'Heltal' |
方法3: 使用字符串的replace函数
1
2
3
4
5
6
7
|
>>> s = 'abcdef' >>> s = s.replace( 'a' , 'A' ) #用A替换a >>> s 'Abcdef' >>> s = s.replace( 'bcd' , '123' ) #用123替换bcd >>> s 'A123ef' |
方法4: 通过给一个变量赋值(或者重新赋值)
1
2
3
4
5
6
7
8
9
|
>>> s = 'Hello World' >>> s2 = ' 2017' #变量赋值 >>> s = s + s2 >>> s 'Hello World 2017' >>> s = 'Hello World' >>> s = 'Hello World 2017' #重新赋值 >>> s 'Hello World 2017' |
Python 字符串改变的更多相关文章
- (原创)Python字符串系列(1)——str对象
在本博客 <Python字符串系列> 中,将介绍以下内容: Python内置的str对象及操作 字符串的格式化 Python中的正则表达式 re模块 本文将介绍Python内置的 str ...
- python字符串常用操作方法
python字符串操作常用操作,如字符串的替换.删除.截取.复制.连接.比较.查找.分割等,需要的朋友可以参考下. 1.去除空格str.strip():删除字符串两边的指定字符,括号的写入指定字符,默 ...
- 7.python字符串-内置方法分析
上篇对python中的字符串内置方法进行了列举和简单说明,但这些方法太多,逐一背下效率实在太低,下面我来对这些方法按照其功能进行总结: 1.字母大小写相关(中文无效) 1.1 S.upper() -& ...
- [转] 强大的python字符串解析
1.python字符串通常有单引号('...').双引号("...").三引号("""...""")或('''...'' ...
- python字符串常用内置方法
python字符串常用内置方法 定义: 字符串是一个有序的字符的集合,用与存储和表示基本的文本信息. python中引号中间包含的就是字符串. # s1='hello world' # s2=&quo ...
- python字符串-内置方法用法分析
1.字母大小写相关(中文无效) 1.1 S.upper() -> string 返回一个字母全部大写的副本
- python字符串操作实方法大合集
python字符串操作实方法大合集,包括了几乎所有常用的python字符串操作,如字符串的替换.删除.截取.复制.连接.比较.查找.分割等,需要的朋友可以参考下: #1.去空格及特殊符号 s.st ...
- python字符串replace失效问题
python字符串replace替换无效 背景 今天想把一个列表中符合条件的元素中 替换部分字符串, 发现怎么替换,改元素还是没有改变,本以为是内存引用的问题后来发现并不然. 经查阅解决 在Pytho ...
- python字符串处理以及字符串格式化
一.python字符串处理 目录: 1.算长度(len),某个元素出现的次数(count) 2.切片 [ ],repr:把不可见字符显示出来 3.查找 #find,rfind从右边查找 4.字符串 ...
随机推荐
- AJAX的GET请求、POST请求
感谢:链接(视频讲解很详细) AJAX(Asynchronous Javascript and XML):异步的JavaScript和XML(不需要刷新网页就可以更新网页数据) XML:百度百科 是一 ...
- LR字符串处理函数-lr_save_int
int lr_save_int(int value,const char * param_name); value:要分配给参数的整数值. param_name:参数的名称. lr_save_in ...
- mysql小数类型
原文链接:https://blog.csdn.net/weixin_42047611/article/details/81449663 MySQL 中使用浮点数和定点数来表示小数. 浮点类型有两种,分 ...
- Python里的黄金库,学会了你的工资至少翻一倍
作者:[已重置]链接:https://zhuanlan.zhihu.com/p/26054228来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 阅读本文大概需要5分钟 ...
- Python中用OpenPyXL处理Excel表格 - 单元格格式设置
官方文档: http://openpyxl.readthedocs.io/en/default/ OpenPyXL库 --单元格样式设置 单元格样式的控制,依赖openpyxl.style包,其中定义 ...
- Quaternion:通过API对Quaternion(四元数)类中的方法属性初步学习总结(二)
1.RotateTowards方法 RotateTowards(From.rotation,To.rotation,fspeed) 个人理解:使From的rotation以floatspeed为速度, ...
- Appium查看应用包名
方式一没有apk 如果应用已经安装在手机上了(例如应用商城下载).可以直接打开手机上该应用, 进入到要操作的界面然后执行: adb shell dumpsys activity recents | f ...
- linux kernel update
linux内核升级 最近HW行动,报出来的linux系统内核漏洞,环境中全部是2.6.32-431.el6.x86_64的主机,需要全部升级到754版本,这也是第一次进行内核升级操作. 先找了一台和生 ...
- Jmeter接口测试,往MySQL数据库写数据时,中文显示???
调Jmeter接口测试,请求字段输入中文,查看数据库插入情况, 发现数据库显示 ???
- v-forv-for指令的三种使用方法
1.迭代数组 <p v-for="(item,i) in list">id:{{item.id}}---名字:{{item.name}}---索引{{item.age} ...