我想找到字符串的最後一個空格,然後在那裏打破它。 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