Я хочу заменить слова, которые появляются один раз в предложении с '<unk>'
. Как и для предложения: hello hello world my world
, я хочу, чтобы результат был hello hello world <unk> world
, как это сделать?Как заменить слова, которые появляются однажды в предложении в python
Прямо сейчас я делаю так:
wordlist1 = trainfiles.split(None)
wordlist2 = []
for word1 in wordlist1:
lastchar = word1[-1:]
if lastchar in [",",".","!","?",";"]:
word2 = word1.rstrip(lastchar)
else:
word2 = word1
wordlist2.append(word2)
freq = {}
for word2 in wordlist2:
freq[word2] = freq.get(word2,0)+1
keylist = freq.keys()
keylist.sort()
for key2 in keylist:
if freq[key2] == 1:
print "%-10s %d" % ('<unk>', freq[key2])
else:
print "%-10s %d" % (key2, freq[key2])
Который дает мне выход, как:
hello 2
<unk> 1
world 2
Но, мне нужен выход, как:
hello hello world <unk> world
Как сделать это?
конкатенировать строку и «распечатать» ее один раз? –