0

我正在使用 Jaccard 距离实现层次聚类。我试图找到 Jaccard 的交易以二进制表示。例如:

t1=['0','1','1','0','1']

t2=['1','0','1','0','0'].

我查看了这个 SO question,这与我想要的非常相似,但我没有得到正确的答案。

基本上这就是我要找的:
1. 找到上述 2 个列表的交集和并集。

除了查看许多其他在线资源之外,我还尝试了以下方法:

1. s1=sets.Set(['0','1','1','0','1'])
   s2=sets.Set(['1','0','1','0','0'])  
2. s1.intersection(s2)  ---> Set(['1', '0'])  
   s1.union(s2)         ---> Set(['1', '0'])  
3. Set(s1) & Set(s2)      ---> TypeError: unsupported operand type(s) for /: 'Set' and 'Set'

   Set(s1) | Set(s2)

请指导我。

谢谢。

4

1 回答 1

2

如你所说:

s1=sets.Set(['0','1','1','0','1'])

让我们检查一下 s1:

print s1
---->Set(['1', '0'])

sets模块提供了用于构造和操作独特元素的无序集合的类。所以,你的 s1 和 s2 实际上是一样的。

于 2012-11-17T09:00:44.330 回答