【发布时间】:2018-09-02 15:16:57
【问题描述】:
假设我有字符串 x='abcd'。我想用 c 替换字符串的第一个和最后一个字母,使其变为 x='cbcc'。我是编程初学者,所以我不知道该怎么做。
【问题讨论】:
标签: python
假设我有字符串 x='abcd'。我想用 c 替换字符串的第一个和最后一个字母,使其变为 x='cbcc'。我是编程初学者,所以我不知道该怎么做。
【问题讨论】:
标签: python
您使用索引来访问第一个和最后一个字母:
>>> s = "hello"
>>> s[0]
'h'
>>> s[-1]
'o'
但是,您不能将不同的字符分配给字符串文字:
>>> s[0] = "x"
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment
你必须重建字符串:
>>> s = "x" + s[1:]
>>> s
'xello'
s[1:] 将字符串从第一个字符拼接到结尾。
我希望这对您的任务有所帮助。
【讨论】:
在 Python 中,字符串是不可变的。这意味着您不能简单地跳入并更改字符串的一部分。您可以做的是选择字符串的特定部分(称为切片)并将字符串(在本例中为单个字符)添加到切片的任一端。
我在下面做的是选择字符串中除第一个和最后一个之外的所有字符,然后将所需的字符串添加到每一端。
试试这个:
x='abcd'
new_x = 'c' + x[1:-1] + 'c'
另外,请注意,虽然我创建了一个新变量 new_x,但您也可以将这个新字符串重新分配给原始变量名称,即 x = 'c' + x[1:-1] + 'c'
【讨论】: