python中set型別的用法

2021-06-28 09:57:16 字數 1022 閱讀 8544

python的set和其他語言類似, 是乙個無序不重複元素集

。基本功能:關係測試、消除重複元素。

集合物件還支援union(並), intersection(交), difference(差)和sysmmetric difference(對稱差集)等數**算。

set型別支援 x in set, len(set),和 for x in set。作為乙個無序的集合,set不記錄元素位置或者插入點。因此,set不支援 indexing, slicing, 或其它類序列(sequence-like)的操作。

消除重複元素,示例:

>>> x=[1,1,5,6,4,4,2,7,7,9]

>>> set(x)

set([1, 2, 4, 5, 6, 7, 9])

>>> y='helloworld'

>>> set(y)

set(['e', 'd', 'h', 'l', 'o', 'r', 'w'])

關係測試,示例2:

>>> str1=set('china')

>>> str2=set(['a','s','i','a'])

>>> str1 & str2   #交集

set(['a', 'i'])

>>> str1 | str2  #並集

set(['a', 'c', 'i', 'h', 'n', 's'])

>>> str1 - str2  #差集

set(['h', 'c', 'n'])

去除列表裡海量重複元素,可以用hash來解決,只不過效能上不是很高。推薦使用set來處理,可以先轉換成set,然後再轉回list。示例3:

>>> m = ['11','22','33','44','11','22']

>>> n = set(m)

>>> n

set(['11', '33', '44', '22'])

>>> p = [i for i in n]

>>> p

['11', '33', '44', '22']

python中set的用法

s1 s2 print s1.difference s2 差集 s1有s2沒有的 print s1.symmetric difference s2 差集 去除共有的 print s1.difference update s2 更新s1 去掉和s2相同的值 print s1.symmetric dif...

Python的set 集合 型別常見用法

記錄下,方便自己查閱,持續更正補充。集合 set 是乙個無序的無重複元素序列。可以使用大括號 或者 set 函式建立集合,注意 建立乙個空集合必須用 set 而不是 因為 是用來建立乙個空字典。1.檢查列表哪些元素重複了 eg a a b s set x for x in eg if eg.coun...

python中set 函式的用法

python set類是在python的sets模組中,大家現在使用的python2.3中,不需要匯入sets模組可以直接建立集合。set boy set y b o 集合的新增有兩種常用方法,分別是add和update。集合add方法 是把要傳入的元素做為乙個整個新增到集合中,例如 a set b...