簡體   English   中英

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

[英]How to reverse a list of strings without reversed() or [::-1] in Python

我最近對此發表了一篇文章,但沒有詳細介紹,而且我真的不知道該網站上的評論是如何工作的,因此我認為我將創建另一個具有適當詳細信息的主題(如果可以的話,抱歉,如果不是這樣的話)。 t)

簡而言之,我正在編寫提示和讀取用戶字符串的代碼(例如: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

這就是您要尋找的。 從向后刺痛開始,然后將其附加到out var

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM