【发布时间】:2019-08-10 08:52:58
【问题描述】:
您好我是Python新手,正在尝试实现去除两端空格的功能。
trim_1() 完美运行,但使用trim_2() 时出现此错误:
IndexError: string index out of range
所以s[:1] 和s[0] 不是一回事吗?为什么s[:1] 有效而s[0] 无效?
任何人都可以对此有所了解吗?
def trim_1(s) :
while s[:1] == ' ':
s= s[1:]
while s[-1:] == ' ':
s= s[:-1]
return s
def trim_2(s) :
while s[0] == ' ':
s= s[1:]
while s[-1] == ' ':
s= s[:-1]
return s
【问题讨论】:
-
不,它们不是一回事,
s[0]是第一个字符,s[:-1]是整个字符串。另一方面,s[0] == s[-len(s)]和s[-1] == s[len(s)-1]。您可以使用s.strip()来完成您想要实现的目标。
标签: python python-3.x string slice