Yng*_*gve 1 python text duplicates
我有两个文本文件,file1和file2.
File1包含一堆随机单词,并file2包含我想file1在它们出现时删除的单词.有办法做到这一点吗?
我知道我可能应该将自己的尝试包含在脚本中,至少要表现出努力,但说实话,这是可笑的,并没有任何帮助.
如果有人能够至少提供一个关于从哪里开始的提示,那将非常感激.
得到每个人的话:
f1 = open("/path/to/file1", "r")
f2 = open("/path/to/file2", "r")
file1_raw = f1.read()
file2_raw = f1.read()
file1_words = file1_raw.split()
file2_words = file2_raw.split()
Run Code Online (Sandbox Code Playgroud)
如果你想要file1中不在file2中的唯一单词:
result = set(file1_words).difference(set(file2_words))
Run Code Online (Sandbox Code Playgroud)
如果您关心从file1的文本中删除单词
for w in file2_words:
file1_raw = file1_raw.replace(w, "")
Run Code Online (Sandbox Code Playgroud)
如果您将单词读入set(每个文件一个),则可以使用set.difference().如果您不关心输出的顺序,则此方法有效.
如果您关心订单,请将第一个文件读入列表,将第二个文件读入一个集合,然后删除列表中集合中的所有元素.
a = ["a", "quick", "brown", "fox", "jumped", "over", "the", "lazy", "dog"]
b = {"quick", "brown"}
c = [x for x in a if not x in b]
print c
Run Code Online (Sandbox Code Playgroud)
得到: ['a', 'fox', 'jumped', 'over', 'the', 'lazy', 'dog']