Python系列5 set和list的妙用

2021-07-08 11:11:55 字數 1043 閱讀 5730

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 差...