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

Python调用strip()后仍无法去除字符串右端空格的问题排查

问题解答

你出错的核心原因是:Python的字符串是不可变类型,strip()这类字符串方法不会直接修改原字符串,而是返回一个处理后的新字符串。你只调用了string.strip()但没把返回值存回string变量,原变量还是保留着带末尾空格的原始内容,所以打印出来还是有空格。

两种修正方法

方法1:将strip结果重新赋值给原变量

直接把处理后的新字符串覆盖原变量,后续打印的就是处理后的内容:

import random
string = ''

keys = ['car', 'banana', 'groof', 'jump', 'king', 'alley']
temp = random.randint(2,3)

for i in range(temp):
    string = string + random.choice(keys) + ' '

# 关键:把strip的返回值重新赋值给string
string = string.strip()
print(string)

方法2:直接在print时调用strip

如果不需要修改原变量,直接在打印的时候使用处理后的结果即可:

import random
string = ''

keys = ['car', 'banana', 'groof', 'jump', 'king', 'alley']
temp = random.randint(2,3)

for i in range(temp):
    string = string + random.choice(keys) + ' '

# 直接打印strip后的结果
print(string.strip())

进阶小技巧:避免多余空格的拼接方式

用str.join()方法拼接字符串,能从根源上避免产生末尾空格,不用再额外处理:

import random

keys = ['car', 'banana', 'groof', 'jump', 'king', 'alley']
temp = random.randint(2,3)
# 生成temp个随机元素的迭代器,用空格直接拼接
string = ' '.join(random.choice(keys) for _ in range(temp))
print(string)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 15:15:40