2016-09-22 3 views
-1

(Entfernte Code Klassenkameraden Kopieren zu stoppen) Gerade jetzt wird es eine Textdatei mit Positionen jeden Wort erstellen, so zum Beispiel, wenn ichWie Worte drucken (und Interpunktion) aus einer Liste von Positionen

schrieb "Hallo, mein Name ist Mika, Hallo"

Die Positionen in dieser Liste wäre [1,2,3,4,5,6,2,1], und es wird auch jedes Wort/Satzzeichen aufgelistet, aber nur einmal, also in diesem Fall wäre es

sein [ 'Hallo', '', 'mein', 'Name', 'ist', 'mika']

Jetzt ist es nur noch möglich, die Wörter mit den Positionen in der Liste wieder in den ursprünglichen Satz zu bringen, was ich nicht zu tun vermag. Ich habe versucht, nach anderen Posts zu suchen, aber es schien nur mit anderen Leuten zu kommen, die die Positionen der Wörter wollten, anstatt die Wörter mit den Positons in einen Satz zurückversetzen zu wollen. Ich dachte auch, es könnte dies zu tun gestartet werden:

for i in range(len(readlines[1])): 

aber ich habe ehrlich gesagt keine Ahnung, wie dies zu umgehen zu tun.

Edit: Dies wurde jetzt von @Abhishek gelöst, danke.

+0

Können Sie den Code schreiben, den Sie bisher geschrieben haben? – user5226582

Antwort

0
indices = [1,2,3,4,5,6,2,1] 
namelst = ['Hello', ',', 'my', 'name', 'is', 'mika'] 

newstr = " ".join([namelst[x-1] for x in indices]) 
print (newstr) 

Ausgang:

>> 'Hello , my name is mika , Hello' 

ich da zustimmen wird einige Versetzungen/Räume sein, aber es wird Ihnen den kompletten Satz gibt wieder

+0

Das hast du so sehr, das hat perfekt funktioniert :) – Mika1996

0

Code: (Werden Leerzeichen entfernen nach Interpunktion)

postitions = [1,2,3,4,5,6,2,1] 
wordslist = ['Hello', ',', 'my', 'name', 'is', 'mika'] 

recreated='' 
for i in indices: 
    w = namelst[i-1] 
    if w not in ['(', ')', '?', ':', ';', ',', '.', '!', '/', '"', "'"]: 
      w = ' ' + w 
    recreated = (recreated + w).strip() 

print (recreated) 

Ausgabe:

C:\Users\dinesh_pundkar\Desktop>python c.py 
Hello, my name is mika, Hello 
C:\Users\dinesh_pundkar\Desktop> 
0

können Sie numpy, dies zu tun.

>>> import numpy as np 
>>> indices = np.array([1,2,3,4,5,6,2,1]) 
>>> namelst = np.array(['Hello', ',', 'my', 'name', 'is', 'mika', ',', 'Hello']) 
>>> ' '.join(namelst[indices-1]) 
'Hello , my name is mika , Hello' 
Verwandte Themen