【问题标题】:Add a character to a string in multiple positions in Python 3在 Python 3 中的多个位置向字符串添加一个字符
【发布时间】:2017-04-17 05:09:00
【问题描述】:

这里是 Python 初学者,如果这是一个愚蠢的问题,请见谅。

所以我有一个长字符串,我需要在字符串的特定区域添加一个字符。例如,一个 |在字符号 23、912 和 1200 之后。我读过这个Add string in a certain position in Python,但它只适用于添加一个字符。

此外,解决方案需要是可扩展的,而不是只做 3 次。我正在制作的代码可以有很多不同的位置以及我希望角色所在的位置。

【问题讨论】:

    标签: python python-3.x


    【解决方案1】:

    参考您发布的链接Add string in a certain position in Python; 如果您想对不同的值重复该操作,您可以创建一个列表,其中包含您希望插入 | 字符的所有索引位置。 例如,

    >>> l = [1, 3, 4]
    >>> s = "abcdef"
    >>> for i in l:
    >>>     s = s[:i] + "|" + s[i:] # as suggested in your link
    >>> s
    'a|b||cdef'
    

    这将允许您对列表中提供的一组值重复该过程。你也可以定义一个函数来帮助解决这个问题,如果这个方法不够,我可以解释一下!

    但是请注意,这将插入相对于当前迭代的字符。也就是说,在此示例中,在位置 1 添加| 之后,下一个插入位置 3 与第一次插入之前的位置不同。您可以通过包含一个计数器变量来避免这种情况(如果需要),以将所有索引位置偏移已执行的插入数量(将需要对初始列表进行排序)。

    【讨论】:

    • 谢谢,它有效!这可能是一个愚蠢的问题,但它是如何工作的?我对我做什么感到困惑。抱歉,如果这是一个愚蠢的问题,请记住我是初学者。
    • 没问题,我的经验不比你多!我假设您对for i in l: 行感到困惑。这样做是从列表中获取每个元素(我们将其命名为i)并对其执行操作。例如,如果您执行list = ["cat", "rabbit", "dinosaur"],然后是for animal in list: print(animal),这将打印 cat,然后是 rabbit,然后是恐龙。希望这有点道理,这可能会帮助您进一步tutorialspoint.com/python/python_for_loop.htm
    【解决方案2】:

    python不太好,希望能帮到你 根据你去的那个网站,你可以做一个while循环来解决问题

    代码应该是这样的

    def insert_dash(string, index, addin):
        return string[:index] + addin + string[index:]
    alldone = False
    string = input("String: ")
    index = " "
    while index:
        index = input("Index: ")
        addin = input("Add into: ")
        string = insert_dash(string, index, addin)
    

    希望对你有帮助!

    PS:我没有尝试过代码,但我认为它会起作用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-17
      • 2012-06-30
      • 1970-01-01
      • 1970-01-01
      • 2019-05-29
      • 1970-01-01
      • 2018-06-01
      相关资源
      最近更新 更多