Ich habe eine Textdatei und möchte 1) über jeden ihrer Sätze iterieren, dann 2) über jedes Wort seiner Sätze, um einige davon zu ändern, und dann 3) die resultierende neue Version des Textes einen Satz pro Zeile drucken
Folgendes habe ich bisher versucht:
import my_text
for sentence in my_text.sents():
for word in sentence:
if word == "the":
print("article", end= " ")
else:
print("non-article", end= " ")
if word == sentence[-1]:
print("\n")
Dieser Code funktioniert und mein Text wird geändert und ein Satz pro Zeile gedruckt. Es gibt jedoch eine leere Zeile zwischen jedem Satz, und ich möchte das entfernen. Beispiel:
article non-article non-article non-article
non-article non-article non-article non-article non-article non-article
article non-article non-article non-article
Und das will ich:
article non-article non-article non-article
non-article non-article non-article non-article non-article non-article
article non-article non-article non-article
Wie könnte ich das machen?
Das Problem liegt darin print("\n")
, dass der Standardwert für end bei "\n"
jedem print("\n")
Druck so ist "\n\n"
. Verwenden Sie einfach print()
:
sentences = ["the cat and dog", "the mouse and cat", "the fox and else"]
sentences = [sentence for sentence in map(str.split, sentences)]
for sentence in sentences:
for word in sentence:
if word == "the":
print("article", end=" ")
else:
print("non-article", end=" ")
if word == sentence[-1]:
print()
Ausgabe
article non-article non-article non-article
article non-article non-article non-article
article non-article non-article non-article
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen