【发布时间】:2018-06-07 05:10:25
【问题描述】:
我已阅读有关该主题的答案并弄清楚为什么会出现“列表索引超出范围”,但我似乎无法准确找到我必须做些什么来更正我的代码。我是初学者,因此可能忽略了正确的写作道德。
代码是反转已经提供的字符串,但我正在编写一种方式,以便我可以开始从用户那里获取未知数量的单词的输入,它仍然可以工作。
teststring = "this is a test"
result = []
result = teststring.split() #holding individual element
final = [] #to hold the reversed string
#print(result)
z = int(len(teststring) - 1) #number of elements minus 1
#print(len(result))
count = 0
count = int(count)
#print(result[count])
for i in result:
p = int(z - count)
final[count] = result[p]
print(final)
count += 1
#print(count)
print(final)
我收到的错误是这样的
Traceback(最近一次调用最后一次): 文件“/home/pi/python/15_Reverse_String.py”,第 15 行,在 最终[计数] = 结果[p] IndexError: 列表索引超出范围
【问题讨论】:
-
如果您只想反转列表,请执行此操作
result[::-1] -
确实有效:D 谢谢。虽然只是出于好奇,但我想了解我的代码逻辑是如何失败的......
-
变量
final为空,您可以通过这种方式填写列表。你甚至可以尝试这样做empty = [] final[2] = 4,你会得到同样的错误。请改用append -
"".join(x for x in reversed(teststring))
标签: python-3.x