📅  最后修改于: 2023-12-03 14:46:47.904000             🧑  作者: Mango
在处理文本的时候,有时需要过滤重复的单词,以便进行下一步的操作。Python是一门非常强大的编程语言,提供了多种方法来实现这个功能。
set是Python内建的数据结构,用于表示无序、不重复的集合。因此,可以使用set来去重。具体实现代码如下:
text = "hello world world world"
words = text.split() # 将文本划分为单词列表
unique_words = set(words) # 使用set去重
print("去重后的单词:", unique_words)
输出结果如下:
去重后的单词: {'hello', 'world'}
Counter是Python内建的高效数据结构,用于统计元素出现的次数。可以使用Counter来统计单词出现的次数,并过滤掉出现次数大于1的单词。具体实现代码如下:
from collections import Counter
text = "hello world world world"
words = text.split() # 将文本划分为单词列表
word_counts = Counter(words) # 统计单词出现次数
unique_words = [word for word, count in word_counts.items() if count == 1] # 过滤掉出现次数大于1的单词
print("去重后的单词:", unique_words)
输出结果如下:
去重后的单词: ['hello']
dict是Python内建的另一种数据结构,用于表示键值对。可以使用dict来去重。具体实现代码如下:
text = "hello world world world"
words = text.split() # 将文本划分为单词列表
unique_words = list(dict.fromkeys(words)) # 使用dict去重
print("去重后的单词:", unique_words)
输出结果如下:
去重后的单词: ['hello', 'world']
以上三种方法都可以实现过滤重复单词的功能,可以根据实际情况选择合适的方法。