给定一个字符串,返回第一个和最后一个字符已交换的新字符串。用于交换字符串中第一个和最后一个字母的Python代码
front_back('code') → 'eodc'
front_back('a') → 'a'
front_back('ab') → 'ba'
以上是提供www.codingBat.com我试图解决以下的问题之一是我写了这样做的代码。
def front_back(str):
str = list(str)
first = [str[0]]
last = [str[-1]]
middle = str[1:-1]
print ''.join (last + middle + first)
下面这段代码似乎当我在我的电脑上的Python 2.7运行它,但代码蝙蝠我碰到下面的错误运行时,它才能正常工作:“错误:列表索引超出范围”
现在我想我对这个错误意味着什么有一个很好的想法,但我不明白为什么我会得到它,因为我引用的任何索引基本上都保证在至少2个字符的字符串中。
'STR [1:-1]'会走出范围''a'',因为只有指数'[0]'和'[-1]'有效 – CoryKramer
即使将[1]替换为[0],我也会得到同样的错误。我知道如果中间值等于索引范围,代码将无法正常工作,但是我的观点是它仍然给我列表索引超出范围错误。 – bob
只需要注意一点:不要将属性命名为'str',因为它是Python中的内置函数,您可以使用'_str'代替 – MaThMaX