如何在Python中不使用reversed()或[::-1]反转字符串列表



我最近发了一篇关于这件事的帖子,但没有详细说明,我真的不知道评论是如何在这个网站上工作的,所以我想我应该创建另一个有适当细节的帖子(如果可以的话,很抱歉,如果没有)

简单地说,我正在编写代码,提示用户并从中读取字符串(例如:12345)。这个字符串可以是无限长的(例如:123456789123456789等)。输入该字符串后,我的代码从该字符串中提取每个元素,并将其放入列表中(例如,12345被转换为['1','2','3','4','5'])。

我需要帮助的是在不使用reversed()或[::-1]的情况下反转此字符串列表,并使其与可能无限长的字符串列表一起工作(例如,['1','2','3','4','5']变为['5','4'、'3'、'2'、'1'])。

我知道这是非常基本的,但我花了很长一段时间试图思考如何做到这一点,出于某种原因,我迟钝的大脑无法掌握如何做到。对我来说,最好的学习方式是看到它正在完成,并解释它是如何工作的(或者我可以自己查看代码并找出"如何"部分)。我将非常感谢在这方面的帮助,并提前感谢您!

这个怎么样

x = input('enter the values:')
x = list(x)
res = []
for i in range(len(x) -1, -1, -1):
    res.append(x[i])
print(res)

除了使用reversed()L[::-1],您还可以使用list.reverse()将列表中的元素反转

>>> L = ['1', '2', '3', '4', '5']
>>> L.reverse()
>>> L
['5', '4', '3', '2', '1']

您可以使用for循环自己实现reversed()

>>> L = ['1', '2', '3', '4', '5']
>>> R = []
>>> for i in range(len(L)-1, -1, -1):
...     R.append(L[i])
... 
>>> R
['5', '4', '3', '2', '1']
lst1 = [1,2,3,4,5,6]
reversed_list = []
length = len(lst1)
for r in range(0, length ):
    reversed_list.append( lst1[length - r - 1] )
print reversed_list
x="hey there"
l=len(x)
out=''
while l:
    out=out+x[l-1]
    l-=1
print out

这就是你要找的。从sting结束时开始向后工作,并将其附加到一个out var

最新更新