【发布时间】:2013-06-06 00:59:27
【问题描述】:
这是我的简单代码。
def reverseString(aStr):
newStr = ''
if len(aStr) == 0:
return newStr
else:
newStr = newStr + aStr[len(aStr)-1]
return reverseString(aStr[:len(aStr)-1])
对于'alina'(如果我在return reverseString... 之前插入print newStr),输出为:newStr='a'、newStr='n'、newStr='i'、newStr='l'、newStr='a'、newStr=''。我不明白。为什么会这样?
【问题讨论】:
-
aStr[len(aStr)-1]是aStr[-1] -
aStr[::-1]怎么样? -
使用扩展切片:
aStr[::-1]这将修复它对你有好处。 -
或者你可以使用
reversed()函数newStr = ''.join(reversed(aStr))(和扩展切片一样,但是更优雅)