Удаление слов, которые появляются в файле несколько раз - PullRequest
0 голосов
/ 27 апреля 2011

Как я могу удалить слова, которые встречаются в файле несколько раз, просто сохранить первое и удалить клоны.

Ответы [ 5 ]

3 голосов
/ 27 апреля 2011

Простой алгоритм - просто перебрать все слова на входе, добавив каждое из них к набору слов, которые вы видели раньше.Если слово уже было в наборе, удалите его.

Вот пример:

seen_words = set()
for word in words:
    if word not in seen_words:
        print word
        seen_words.add(word)
0 голосов
/ 27 апреля 2011

Если ваш файл не ЧРЕЗВЫЧАЙНО большой,

word='word'
data=open("file").read()
ind = data.find(word)
print data[:ind+len(word)] + data[ind:].replace(word,"")
0 голосов
/ 27 апреля 2011
fileText = "some words with duplicate words"
fileWords = fileText.split(" ")
output = fileWords[0]
words = [output]
for word in fileWords:
    if word not in words:
        output += " "+word
        words.append(word)
0 голосов
/ 27 апреля 2011

Вы можете использовать набор:

set ('это все слова, слова, все эти слова.' Split ())

Выход: «эти», «все», «есть», «слова»

0 голосов
/ 27 апреля 2011

Вы также можете использовать словарь, подобный этому:

mydict = {}
mylist = [1, 2, 2, 3, 4, 5, 5]
for item in mylist:
  mydict[item] = ""
for item in mydict:
  print item

Вывод:

1
2
3
4
5

Но, конечно, вам необходимо интегрировать его в чтение / запись файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...