我想找到字符串的最后一个空格,然后在那里打破它。 line_size是该行必须的大小,因此它会有所不同。IndexError:字符串索引超出范围..为什么?
if line[line_size] != ' ':
for x in reversed(range(line_size)):
print line[x]
if line [x] == ' ':
break_line = line[x]
我想找到字符串的最后一个空格,然后在那里打破它。 line_size是该行必须的大小,因此它会有所不同。IndexError:字符串索引超出范围..为什么?
if line[line_size] != ' ':
for x in reversed(range(line_size)):
print line[x]
if line [x] == ' ':
break_line = line[x]
你应该使用rfind
为同一
In [71]: l = "hi there what do you want"
In [72]: l.rfind(' ')
Out[72]: 20
rfind
回报最高的串在子子发现
的问题,你的情况指数似乎与line_size
可以去reversed(range(len(l)))
In [76]: for x in reversed(range(len(l))):
....: if l[x] == ' ':
....: print x
....: break
....:
20
Python中的索引是从零开始的,所以如果line_size = len(line)
(line
中的字符数),那么line
的最后一个字符是line[line_size-1]
。
假设line_size = len(line)
,这总是会失败
if line[line_size] != ' ':
,因为第一项是line[0]
,最后一个项目是line[len(line)-1]
嗯,先声明,我现在看到了。 :-) – 2013-03-13 10:40:41