Skip to main content
 首页 » 编程设计

Python:替换字典值中的单个字符

2025年05月04日16birdshome

如何为匹配的 if 条件替换 Python 字典字符串中的单个字符?

给定:

if key[-1] == "d" and val[-1] == "t": 
  print key, val 
 
versed v3rst 
vexed vEkst 
voiced vOIst 

我想将最后一个字母“t”更改为“d”。我试过:

if key[-1] == "d" and val[-1] == "t": 
  val[-1] = val[-1].replace("t", "d") 
  print key, val 

但是我得到了错误:

val[-1] = val[-1].replace("t", "d") 
TypeError: 'str' object does not support item assignment 

有什么建议吗?这似乎是一个简单的 if 和 replace。

请您参考如下方法:

字符串是不可变的,你不能通过赋值改变一个字符。你可以使用 replace,如果你这样做,例如

val = val.replace(...) 

但是只改变你需要的最后一个字符:

val = val[:-1] + val[-1].replace(...) 

或者只是:

val = val[:-1] + "d" 

但是,这仍然不会更新字典,同样是因为字符串是不可变的,并且这会创建一个新对象。为此:

d[key] = ...