在Python中,字符串是不可变类型,即无法直接修改字符串的某一位字符。

直接修改会报错:'str' object does not support item assignment

因此改变一个字符串的元素需要新建一个新的字符串。

常见的修改方法有以下4种。

方法1:将字符串转换成列表后修改值,然后用join组成新字符串

>>> 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: 通过字符串序列切片方式

>>> 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函数

>>> s='abcdef'
>>> s=s.replace('a','A')    #用A替换a
>>> s
'Abcdef'
>>> s=s.replace('bcd','123')  #用123替换bcd
>>> s
'A123ef'

方法4: 通过给一个变量赋值(或者重新赋值)

>>> s='Hello World'
>>> s2=' 2017'       #变量赋值
>>> s=s+s2
>>> s
'Hello World 2017'
>>> s='Hello World'
>>> s='Hello World 2017'  #重新赋值
>>> s
'Hello World 2017'

python3 修改字符串的四种方法 错误 'str' object does not support item assignment 解决方法相关推荐

  1. python写错了怎么更改-Python中修改字符串的四种方法

    在Python中,字符串是不可变类型,即无法直接修改字符串的某一位字符. 因此改变一个字符串的元素需要新建一个新的字符串. 常见的修改方法有以下4种. 方法1:将字符串转换成列表后修改值,然后用joi ...

  2. python字符串中某个字符修改_Python中修改字符串的四种方法

    在Python中,字符串是不可变类型,即无法直接修改字符串的某一位字符. 因此改变一个字符串的元素需要新建一个新的字符串. 常见的修改方法有以下4种. 方法1:将字符串转换成列表后修改值,然后用joi ...

  3. Python 修改tuple元组提示:TypeError: ‘tuple‘ object does not support item assignment. 问题原因

    TypeError: 'tuple' object does not support item assignment. 翻译: 类型错误:tuple 对象不支持项分配. tuple 类型一旦初始化就不 ...

  4. Python中修改字符串的四种方法

    在Python中,字符串是不可变类型,即无法直接修改字符串的某一位字符. 因此改变一个字符串的元素需要新建一个新的字符串. 常见的修改方法有以下4种. 方法1:将字符串转换成列表后修改值,然后用joi ...

  5. Mac 错误提示:zsh: command not found: brew解决方法

    Mac 错误提示:zsh: command not found: brew解决方法@TOC 欢迎使用Markdown编辑器 Mac平台出现brew command not found问题解决方法 错误 ...

  6. 单一修改高程值lisp_浅谈AutoCAD中修改高程的四种方法

    浅谈 AutoCAD 中修改高程的四种方法 摘 要: 在使用 AutoCAD 进行数字化成图工作中,经常遇到线划的标高不为零,及高程点的值与实地不符,需要对其进行修改等情况,结合实 际工作经验,简单介 ...

  7. php随机字符串的四种生成方法

    下面介绍生成随机字符串的四种基本方法: 方法一: 1.在33 – 126中生成一个随机整数,如35. 2.将35转换成对应的ASCII码字符,如35对应#. 3.重复以上1.2步骤n次,连接成n位的密 ...

  8. 四种DCOM错误的区别,0x80080005 0x800706be 0x80010105 0x

    四种DCOM错误的区别 Differences between the following DCOM error 0x80080005 0x800706be 0x80010105 0x800706ba ...

  9. OculusClient登录错误“发生意外错误,请稍后重试(OVR40779122)”解决方法

    OculusClient登录错误"发生意外错误,请稍后重试(OVR40779122)"解决方法 在系统hosts文件中添加以下内容: 157.240.217.51 graph.oc ...

最新文章

  1. 调查:“AI红娘”来了,有一半人选择相信TA
  2. Linux安装gcc时碰到的有关问题解决(解决gcc依赖有关问题)
  3. 程序猿修仙之路--算法之直接插入排序
  4. MP3文件转换成arduino可以直接播放的wav格式,MP3转WAV工具
  5. fcntl函数参数F_GETPIPE_SZ、F_SETPIPE_SZ报错引出的关于linux-specific头文件的使用方法...
  6. Val编程-特殊函数使用
  7. python处理select
  8. thinkphp5 数据库 链接 Connection
  9. HTTP协议探究(一):缓存
  10. YASKAWA 安川变频器调试软件支持多种机型
  11. Y2K问题和2038问题
  12. 04 : mysql 基础命令操作,字符集
  13. MacOS-Mac开发和iOS开发的区别
  14. 手推向量投影长度、投影向量
  15. 在Ext JS本地化
  16. 聚百川之源,欢迎28位AI开发者加入飞桨开发者技术专家计划!
  17. 大机构里站队忙——北漂18年(22)
  18. 收集的SQL Server性能相关资料
  19. Web2.0视觉风格进化论
  20. 线程池6th卷:大展经纶补天手

热门文章

  1. Go 语言编程 — 并发 — GMP 调度模型
  2. RESTful_URI资源
  3. Linux_用户和权限管理
  4. Windows 7删需要权限的文件
  5. JavaScript算法题:查找数字在数组中的索引
  6. 分享一个现代的,免费的,简单而有效的编辑器Vis
  7. C语言处理字符串及内存操作
  8. 【深入Java虚拟机】二 类加载与双亲委派
  9. array,vector对象 数组越界检测
  10. tomcat和nginx的使用