python-verschieben von Zeichen auf der Grundlage der string-position
Ich versuche ein Sonderzeichen von einer position zur anderen in einer Zeichenfolge. Ich möchte es erscheinen, sobald Sie das nächste Zeichen ein. Hier ist mein string:
"th i s. i s. a. n i c ^ e . s t r i ng."
Dieses symbol kann erscheinen an irgendeiner Stelle. Ich habe in der Lage zu identifizieren, den nächsten Platz, aber ich kann immer noch nicht bewegen.
Was ich bisher getan habe, ist dies:
x= "th i s. i s. a. n i c ^ e . s t r i ng."
for i in range(len(x)):
if x[i] == '^':
j = i + 1
if x[j] == ' ':
j = j + 1
while j < len(x) and x[j] != ' ':
j = j + 1
print "in the position " + str(i) + ", I found a hat: '" + str(x[i]) + "'"
print "in the position " + str(j) + ", I found the next space: '" + str(x[j]) + "'"
x.remove(i)
x.insert('^', j)
else:
print 'somebody help!'
- Eingang
x= "th i s. i s. a. n i c ^ e . s t r i ng."
was willst du die Ausgabe? - strings sind nicht veränderbar ... die Sie benötigen, um einen neuen string ...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Strings sind unveränderlich und haben Sie keine
remove
oderinsert
Methode. Also, sollten Sie konvertieren den string in eine Liste und erst dann können Sielist.remove
undlist.insert
.Und schließlich nach ändern der Liste, der Sie beitreten können Sie wieder mit
str.join
.Fehler in deinem code:
x.split('^')
wird wahrscheinlich schneller sein. Nur die zweite sub-string wird analysiert und aktualisiert, bevor er die zwei wieder zusammen.[Update]
Danke für all die tollen Antworten. Ich habe eine Lösung gefunden, um meine eigene Frage nach messing mit für eine Weile. Ich hoffe, dies hilft jemand anderes! 🙂
Ergebnis:
th i s. i s. ein. n i c^ e. s s t. s t r i ng.
Ich bin mir nicht sicher, verstehe ich das Problem aber hier sind ein paar Beispiele, wie Sie verschieben können, einen Charakter innerhalb einer Sequenz von Zeichen.
Bewegenden Charakter Zu Index
Beispiele:
Bewegenden Charakter Von Inkrement
Beispiele: