A-A+

Python中list与set妙用

2018年02月09日 文章转载 暂无评论 阅读 439 views 次

set和list是Python常用的结构类型,这里不再多述。本文主要是总结了一些它们配合起来的一些妙用。

(1)去重

比如一个序列:

>>>line = ['a','b','a']

为了去除重复的'a',可以进行如下操作:

>>> list(set(line))
['a', 'b']

(2)提取两个序列中出现过的非重复元素
比如两个序列:

>>> line1=['a','b','a']
>>> line2=['a','c']
为了得到这两个序列中出现的不同元素,可以进行如下操作:

>>> line=line1+line2
>>> list(set(line))
['a', 'c', 'b']

(3)两个集合的并集

比如两个集合为:

>>> set1=set(['a','b'])
>>> set2=set(['a','c'])

为了得到并集,可进行如下操作:

>>> set(list(set1)+list(set2))
set(['a', 'c', 'b'])

(4)计算两个集合的雅可比相似度
雅可比相似度=两个集合交集/两个集合并集。

首先,通过(3)中的方法,可以得到两个集合的并集,进而知道并集中的元素个数是3;

其次,根据set1中的元素个数为2,set2中的元素个数为2,得到两个集合相同元素的个数为2+2-3=1(验证确实是1,只有'a'是共同元素)

最后,雅可比相似度=1/3。

(5)判断一个集合是否包含在另一个集合中

基于(4),可以求出两个集合的共同元素的个数c。此时,如果c等于一个集合的元素总个数,则该集合必定包含在另一个集合中;否则,不完全包含。

 

原文链接:http://blog.csdn.net/zongzhiyuan/article/details/50099657

标签:

给我留言