我正在使用Jaccard距离实现层次聚类。我试图找到Jaccard的交易以二进制表示。例如:
t1=['0','1','1','0','1']
t2=['1','0','1','0','0']
。
我看了this 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)
请指导我。
感谢。
答案 0 :(得分:2)
正如你所说:
s1=sets.Set(['0','1','1','0','1'])
让我们检查一下s1:
print s1
---->Set(['1', '0'])
sets 模块提供了用于构造和操作唯一元素的无序集合的类。所以,你的s1和s2实际上是一样的。