Словарь python, не записывайте существующее слово

#python #dictionary

#python #словарь

Вопрос:

Я хочу, чтобы, если слово уже вышло в Dico.txt он не пишет это снова.

 e = input("Mots: ")
f = e.split(" ")

with open("Dico.txt", "a") as f2:
    for line in f:
        for word in line.split():
            f2.write(word   'n')
  

Ответ №1:

Для этого вы можете использовать список:

 e = input("Mots: ")
f = e.split(" ")
u = []

with open("Dico.txt", "a") as f2:
    for line in f:
        for word in line.split():
            if not word in u:
              f2.write(word   'n')
              u.append(word)
            else:
              continue
  

Комментарии:

1. или набор.. просто добавьте каждое слово в набор. и преобразовать в конце тоже список

2. Спасибо, но u.append(word) не работает. ошибка: объект ‘_io.TextIOWrapper’ не имеет атрибута ‘append’

Ответ №2:

 #!/usr/bin/env python

f = open('Dico.txt', 'r')
f2 = open('new.txt', 'w')
w = input('The word? ')
for line in f:
  for word in line.split():
    l = line.replace(w, "")
  f2.write(l.strip(" "))