python中s[:1]和s[0]有什么区别
python3吧
全部回复
仅看楼主
level 1
总是服我 楼主
def trim(s): #去除字符串首尾的空格
while(s[:1] ==' '): #为什么s[0]不行?
s = s[1:]
while(s[-1:] == ' '): #为什么s[-1]不行?
s = s[:-1]
return s
2020年07月17日 06点07分 1
level 1
总是服我 楼主
小白刚刚学习,求大佬指点
2020年07月17日 06点07分 2
level 11
s[:1]是取范围内的全部元素,返回列表
s[0]是取指定索引的元素,返回元素
2020年07月19日 17点07分 4
level 2
直接用replace(' ', '')就是去空格
2020年07月20日 16点07分 5
level 1
是一样的。
但对于空字符串来说,切片s[0:1]总会有一个返回结果,索引s[0]会报超出索引错误
2022年03月12日 13点03分 7
level 3
一般情况下,其实这两个是一样的,但是在某些特殊情况下,比如字符串已经空了,这时候s[0]就会报错,因为超出范围了
2022年03月23日 06点03分 8
level 3
所以用s[0]的时候要注意字符串是否为""或者" "这些情况出现
2022年03月23日 06点03分 9
level 3
另外,删除空字符,直接用strip()函数即可
2022年03月23日 06点03分 10
1