You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3如何将字符串内空格替换为另一字符串的对应字符

问题解答

原代码错误原因

  • Python中字符串是不可变类型,str.replace()方法不会修改原字符串,只会返回替换后的新字符串,原代码没有接收该返回值,所以string1始终没有发生变化。
  • 双层循环逻辑不符合需求:每次遇到空格都会遍历整个string2,无法实现「第一个空格替换为a、第二个替换为b、第三个替换为c」的按顺序对应替换效果。
  • 直接遍历字符串字符无法准确定位替换位置,也无法和string2的字符索引对应。

正确实现代码

推荐初学者用逻辑清晰的可变列表+索引指针的写法:

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

# 将字符串转为列表方便修改
str1_list = list(string1)
# 记录当前要使用的string2字符的索引
s2_index = 0
result = []

for char in str1_list:
    if char == " " and s2_index < len(string2):
        # 遇到空格且string2还有未使用的字符,执行替换
        result.append(string2[s2_index])
        s2_index += 1
    elif char != " ":
        # 非空格字符直接保留
        result.append(char)
    # 超出string2长度的多余空格直接丢弃,匹配最终输出需求

# 拼接列表为最终字符串
final_result = ''.join(result)
print(final_result)

运行上述代码输出结果为AaBbCc,完全符合需求。

内容的提问来源于stack exchange,提问作者Vanessa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 15:45:03