错误:'str'对象不支持项目分配
Python 字符串是不可变的,这意味着一旦创建,它们的单个字符就无法更改修改的。尝试直接使用项目分配来修改字符(如代码 s2[j] = s1[i] 中所示)会导致错误“TypeError: 'str' 对象不支持项目分配。”
此行为与 C 等语言相反,在 C 语言中,字符串是可变的并且可以通过这种方式进行修改。要克服 Python 中的此限制,请考虑以下替代方案:
使用字符串连接
您可以通过连接来构建一个新字符串,而不是直接分配给单个字符所需的字符。例如:
<code class="python">s1 = "Hello World" s2 = "" j = 0 for i in range(len(s1)): s2 += s1[i]</code>
这里,s2 是通过一次附加 s1 中的字符来创建的。
转换为列表
Python 字符串可以暂时转换为列表,修改,然后转换回字符串。例如:
<code class="python">s1 = "Hello World" list1 = list(s1) list1[5] = 'u' s1 = ''.join(list1)</code>
在本例中,s1 被转换为列表 list1,其中第五个字符被修改。然后 list1 被转换回字符串 s1 并进行请求的修改。
以上是如何修改不可变 Python 字符串中的单个字符?的详细内容。更多信息请关注PHP中文网其他相关文章!