【问题标题】:How to replace values of a certain location in a string in Python [duplicate]如何在Python中替换字符串中某个位置的值[重复]
【发布时间】:2018-09-02 15:16:57
【问题描述】:

假设我有字符串 x='abcd'。我想用 c 替换字符串的第一个和最后一个字母,使其变为 x='cbcc'。我是编程初学者,所以我不知道该怎么做。

【问题讨论】:

    标签: python


    【解决方案1】:

    您使用索引来访问第一个和最后一个字母:

    >>> 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:] 将字符串从第一个字符拼接到结尾。

    我希望这对您的任务有所帮助。

    【讨论】:

      【解决方案2】:

      在 Python 中,字符串是不可变的。这意味着您不能简单地跳入并更改字符串的一部分。您可以做的是选择字符串的特定部分(称为切片)并将字符串(在本例中为单个字符)添加到切片的任一端。

      我在下面做的是选择字符串中除第一个和最后一个之外的所有字符,然后将所需的字符串添加到每一端。

      试试这个:

      x='abcd'
      
      new_x = 'c' + x[1:-1] + 'c'
      

      另外,请注意,虽然我创建了一个新变量 new_x,但您也可以将这个新字符串重新分配给原始变量名称,即 x = 'c' + x[1:-1] + 'c'

      【讨论】:

      • 虽然这段代码 sn-p 可以解决问题,但including an explanation 确实有助于提高帖子的质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。
      • 我同意,好点子。现在编辑它。
      猜你喜欢
      • 2016-08-04
      • 2012-03-14
      • 2021-09-17
      • 1970-01-01
      • 2014-12-26
      • 2019-05-05
      • 1970-01-01
      • 1970-01-01
      • 2018-10-22
      相关资源
      最近更新 更多