【问题标题】:Replacing spaces in one string with characters of other string用另一个字符串的字符替换一个字符串中的空格
【发布时间】:2021-12-04 07:47:13
【问题描述】:

假设我有两个字符串,string1="A B C" 和 string2="abc"。如何组合这两个字符串使 string1 变为“AaBbCc”?所以基本上我希望string1中的所有空格都替换为string2中的字符。我尝试使用两个这样的 for 循环:

string1="A B C "
string2="abc"

for char1 in string1:
    if char1==" ":
        for char2 in string2:
            string1.replace(char1,char2)
    else:
        pass
print(string1)

但这不起作用。我对 Python 还很陌生,所以有人可以帮助我吗?我使用版本 Python3。提前谢谢你。

【问题讨论】:

    标签: python string replace


    【解决方案1】:

    您可以在String2 上使用iter 并将' ' 替换为String2 中的char,如下所示:

    >>> string1 = "A B C "
    >>> string2 = "abc"
    >>> itrStr2 = iter(string2)
    >>> ''.join(st if st!=' ' else next(itrStr2) for st in string1)
    'AaBbCc'
    

    如果两个String 中的len 可能不同,您可以使用itertools.cycle,如下所示:

    >>> from itertools import cycle
    >>> string1 = "A B C A B C "
    >>> string2 = "abc"
    >>> itrStr2 = cycle(string2)
    >>> ''.join(st if st!=' ' else next(itrStr2) for st in string1)
    'AaBbCcAaBbCc'
    

    【讨论】:

      【解决方案2】:
      string1 = "A B C "
      string2 = "abc"
      
      out, repl = '', list(string2)
      for s in string1:
          out += s if s != " " else repl.pop(0)
      
      print(out) #AaBbCc
      

      【讨论】:

        猜你喜欢
        • 2021-06-15
        • 2013-12-03
        • 2019-05-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-28
        • 2017-01-28
        • 2017-03-07
        相关资源
        最近更新 更多