仅从Python中的句子中获取唯一的单词

仅从Python中的句子中获取唯一的单词,python,Python,假设我有一个字符串,上面写着“芒果芒果桃子”。如何仅打印该字符串中的唯一单词。 上述字符串所需的输出将是[peach]列表 谢谢 首先-使用空格分隔符拆分字符串(split()方法),然后使用计数器或根据自己的代码计算频率。您可以使用查找每个单词的出现次数,然后列出只出现一次的所有单词 seq = "mango mango peach".split() [x for x in seq if x not in seq[seq.index(x)+1:]] from collec

假设我有一个字符串,上面写着“芒果芒果桃子”。如何仅打印该字符串中的唯一单词。 上述字符串所需的输出将是[peach]列表
谢谢

首先-使用空格分隔符拆分字符串(split()方法),然后使用计数器或根据自己的代码计算频率。

您可以使用查找每个单词的出现次数,然后列出只出现一次的所有单词

seq = "mango mango peach".split()
[x for x in seq if x not in seq[seq.index(x)+1:]]
from collections import Counter

phrase = "mango peach mango"

counts = Counter(phrase.split())

print([word for word, count in counts.items() if count == 1])
# ['peach']

Python有一个名为count的内置方法,在这里可以很好地工作

text = "mango mango peach apple apple banana"
words = text.split()

for word in words:
    if text.count(word) == 1:
        print(word)
    else:
        pass
使用列表理解可以做到这一点

[print(word) for word in words if text.count(word) == 1]

你在挣扎哪一部分?将句子拆分成单词,还是找到唯一的单词?找到唯一的单词。。我可以使用设置函数过滤掉重复的单词,但这意味着我的输出将是[mango,peach],请仔细查看预期的输出。他们正在寻找那些只在输入中出现一次的单词。这只打印唯一字符['p','e','c','h']good catch@Maddocks抱歉,我忽略了
.split()
此解决方案是O(N^2)。可怕的。
[print(word) for word in words if text.count(word) == 1]