在Python NLP中比较集合
我正在自学Python和自然语言处理,使用的是一个在线教程。
http://www.nltk.org/book/ch01.html#sec-automatic-natural-language-understanding
每个章节结束时都有一些练习题,第一部分我几乎都做完了,只有一道题让我很困惑。
在nltk中,有一个叫set()的函数,它可以从一个列表中提取出所有的单词,并去掉重复的单词。
我们一直在用集合来存储词汇。试试这个Python表达式:set(sent3) < set(text1)。用不同的参数来试试set()。这个表达式有什么作用?你能想到它的实际应用吗?
我用了一些不同的参数来运行代码,但输出结果我就是看不出规律。有没有人知道怎么判断一个集合比另一个集合大?这可能有什么重要性?
谢谢!
2 个回答
-1
这不是用来测试子集的。
我做了一些修改。
sent3 + ['manoj']
text1.count('manoj') # returns 0
set(sent3) < set(text1) # returns True but it is not a subset
1
在集合中,<
用来检查一个集合 A 是否是另一个集合 B 的真子集。举个例子,
In [147]: set('ab') < set('abc')
Out[147]: True
因为 set('ab')
是 set('abc')
的真子集。相对而言,
In [149]: set('abc') < set('abc')
Out[149]: False
因为 set('abc')
不是它自己的一个 真 子集。
这个操作符的详细信息可以在 这里找到。