我试图手动(没有内置函数)反转文本字符串,但是代码为我提供了list_rev[u] = list_[i]
的“超出范围的列表分配索引”。我不明白为什么会这样?我想做的是从list_
中获取文本,并以相反的顺序将其放置在list_rev
中,然后打印list_rev
。
谢谢!
text = raw_input("Word?")
text = str(text)
def reverse(text):
list_rev = []
list_ = []
length = int(len(text))
k = 0
while k < (length):
list_.append(str(text)[k])
k += 1
i = int(length-1)
u = 0
while i >= 0:
list_rev[u] = list_[i]
u += 1
i -= 1
return list_rev,
print reverse(text)
最佳答案
您从表达式list_rev[u]
收到错误“列表分配索引超出范围”,因为索引(u
)不在0 .. len(list_rev)-1
范围内。特别是,list_rev
为空,因此u
没有可能引用list_rev
的有效元素的值。
如果要向list_rev添加新元素,请尝试.append()
,.extend()
或.insert()
。
关于python - python函数中的反向文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15884738/