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等於乙個集合的元素總個數,則該集合必定包含在另乙個集合中;否則,不完全包含。
Redis常用命令 5 Set
sadd 格式 sadd key member member 作用 在集合key中插入乙個或多個元素。如果member已經存在,則忽略member。如果key不存在則先建立集合key。返回值 成功插入的元素個數。scard 格式 scard key 作用 返回集合中的元素個數。返回值 元素個數。如果...
python中set和frozenset方法和區別
先簡單說一下set t.add x 新增一項 s.update 10,37,42 在s中新增多項 t.remove h 刪除一項 len s set 的長度 xin s 測試 x 是否是 s 的成員 x not in s 測試 x 是否不是 s 的成員 s.issubset t s t 測試是否 s...
python中set和frozenset方法和區別
詳細參見部落格 set 可變集合 與frozenset 不可變集合 的區別 set無序排序且不重複,是可變的,有add remove 等方法。既然是可變的,所以它不存在雜湊值。基本功能包括關係測試和消除重複元素.集合物件還支援union 聯合 intersection 交集 difference 差...