Python 删除文件中多次出现的单词

Python 删除文件中多次出现的单词,python,string,Python,String,如何删除文件中多次出现的单词,只保留第一个单词并删除克隆。一个简单的算法是迭代输入中的所有单词,将每个单词添加到您以前见过的一组单词中。如果单词已在集合中,请将其删除 下面是一个例子: seen_words = set() for word in words: if word not in seen_words: print word seen_words.add(word) 一个简单的算法是迭代输入中的所有单词,将每个单词添加到您以前见过的一组单词中。

如何删除文件中多次出现的单词,只保留第一个单词并删除克隆。

一个简单的算法是迭代输入中的所有单词,将每个单词添加到您以前见过的一组单词中。如果单词已在集合中,请将其删除

下面是一个例子:

seen_words = set()
for word in words:
    if word not in seen_words:
        print word
        seen_words.add(word)

一个简单的算法是迭代输入中的所有单词,将每个单词添加到您以前见过的一组单词中。如果单词已在集合中,请将其删除

下面是一个例子:

seen_words = set()
for word in words:
    if word not in seen_words:
        print word
        seen_words.add(word)

您也可以使用这样的词典:

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

但当然,您需要将其集成到文件读/写中。

您也可以使用这样的词典:

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
但当然,您需要将其集成到文件读/写中。

您可以使用一组:

set('这些都是单词这些都是'.split())

输出: “这些”、“全部”、“是”、“单词”

您可以使用一组:

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)
set('这些都是单词这些都是'.split())

输出:
“这些”、“这些”、“全部”、“是”、“单词”

如果您的文件不是非常大

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)
word='word'
data=open("file").read()
ind = data.find(word)
print data[:ind+len(word)] + data[ind:].replace(word,"")

如果您的文件不是非常大

word='word'
data=open("file").read()
ind = data.find(word)
print data[:ind+len(word)] + data[ind:].replace(word,"")

是否可以搜索/替换为正则表达式?算法取决于文件的性质:非常非常大或合理的大小,允许在内存中加载内容?是否可以搜索/替换为正则表达式?算法取决于文件的性质:非常非常大或合理的大小,允许在内存中加载内容?为什么不使用集合?1357他不想打印,他想更正我帖子中引用文件的内容:“但当然你需要将其集成到文件读/写中。”为什么不使用集合?1357他不想打印,他想更正我帖子中引用文件的内容:“但您当然需要将其集成到文件读/写中。“设置不保留顺序!设置不保留顺序!它不能应用于文件的处理,因为要与换行符保持一致的行是一个问题,这个例子只处理消除重复项的问题。将输入拆分为单词并重新组合单词是一个单独的问题,堆栈溢出不是“请为我编写代码”类型的站点。它不能应用于文件的处理,因为与换行符保持一致的行有问题,此示例仅涉及消除重复项。将输入拆分为单词并重新组合单词是一个单独的问题,堆栈溢出不是请为我写代码类型的站点。每次执行
output+=“”+word
都包括创建一个新对象,该对象的值为output“”,并将word连接起来。如果文件很大,则表示intepreter需要做大量工作。此外,根据“”进行拆分会产生可能包含换行符的字符串。因此,“Sun\nSea”将是一个词,当“太阳”或“海”将在一行中出现时,它不会被删除。每次执行<代码>输出+=“+”+Word < /代码>在于创建一个新的对象,该对象具有输出“,”和“Word级联”。如果文件很大,则表示intepreter需要做大量工作。此外,根据“”进行拆分会产生可能包含换行符的字符串。所以“太阳”将是一个词,当“太阳”或“海”将在一条直线的中间,它不会被删除。