2016-04-30 8 views
0

umkehrt Ich habe vor kurzem einen Beitrag darüber gemacht, aber ging nicht ins Detail und ich weiß nicht wirklich, wie das kommentieren funktioniert Ich dachte, ich würde einen anderen Thread mit den richtigen Details erstellen (wenn das okay ist, tut mir leid, wenn es nicht ist)Wie man eine Liste von Zeichenfolgen ohne reversed() oder [:: - 1] in Python

Einfach gesagt, ich schreibe Code, der fordert und liest eine Zeichenfolge von einem Benutzer (zB: 12345). Diese Zeichenfolge könnte unendlich lang sein (zB: 123456789123456789, etc). Nachdem dieser String eingegeben wurde, nimmt mein Code jedes Element aus diesem String und fügt es in eine Liste ein (zB wird 12345 in ['1', '2', '3', '4', '5'] umgewandelt) .

Was ich brauche, ist die Umkehrung dieser Liste von Strings ohne Verwendung von reversed() oder [:: - 1], und damit es mit einer Liste von Strings arbeitet, die unendlich lang sein können (zB ['1' "2", "3", "4", "5"] wird zu [5, 4, 3, 2, 1].

Ich weiß, das ist sehr einfach, aber ich habe eine ganze Weile damit verbracht, darüber nachzudenken, wie man das macht und aus irgendeinem Grund kann mein langsames Gehirn nicht verstehen, wie. Der beste Weg für mich zu lernen ist es zu sehen, wie es gemacht wird, mit einer Erklärung, wie es funktioniert (oder ich könnte mir den Code anschauen und den "Wie" -Teil selbst herausfinden). Ich wäre sehr dankbar für Ihre Hilfe und danke Ihnen im Voraus!

+2

was ist der Grund, warum Sie nicht wollen, verwenden 'reversed' oder' [:: - 1] '? Was versuchst du zu erreichen? 'list (reversed ('12345'))' macht die ganze Arbeit ... –

+0

@ ColonelBeauvel, wahrscheinlich versucht, eine Schulaufgabe zu machen, die so erwähnt. – MohitC

Antwort

-1
x="hey there" 
l=len(x) 
out='' 
while l: 
    out=out+x[l-1] 
    l-=1 
print out 

Dies ist, was Sie suchen. Beginnen Sie am Ende des Stachels auf der Arbeit nach hinten und hängen Sie ihn an einem aus var

+0

Erinnert mich an - * "Das ist Sting. Du hast es schon mal gesehen, nicht wahr, Gollum?" *: D –

1

Wie über diesen

x = input('enter the values:') 
x = list(x) 

res = [] 

for i in range(len(x) -1, -1, -1): 
    res.append(x[i]) 

print(res) 
1

Neben der Verwendung von reversed() oder L[::-1], könnten Sie list.reverse() verwenden, um die Elemente der Liste zu umkehren in -Ort:

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

Sie reversed() sich mit einer for Schleife implementieren können:

>>> 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'] 
0
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