Python資料型別 集合

2022-07-31 19:21:10 字數 2432 閱讀 3720

集合是乙個無序的,不重複的資料組合,它的主要作用如下:

去重,把乙個列表變成集合,就自動去重了

關係測試,測試兩組資料之前的交集、差集、並集等關係

集合(set):把不同的元素組成一起形成集合,是python基本的資料型別。

集合元素(set elements):組成集合的成員(不可重複)

集合物件是一組無序排列的可雜湊(不可變,類似字典的鍵)的值:集合成員可以做字典的鍵

集合分類:可變集合、不可變集合

可變集合(set):可新增和刪除元素,非可雜湊的,不能作為字典的鍵,也不能做其他集合的元素

不可變集合(frozenset):與上面恰恰相反

li=[[1,2],'

a','b'

]s =set(li) #

typeerror: unhashable type: 'list'

print(s)

a=set('

alex li a

') #

有多個 a

print

(a) #

集合會把重複的去掉,並無序的列印出來

b=['

aaa','

bbb','

aaa'

]s=set(b)

print

(s) #

列表裡有重複,會把重複的去掉

由於集合沒有自己的語法格式,只能通過集合的方法 set() 和frozenset() 建立,或者 {} 來建立

s1 = set('

alvin')

s2= frozenset('

yuan

') #

不可變集合

s3=print(s1,type(s1)) #

print(s2,type(s2)) #

frozenset()

由於集合本身是無序的,所以不能為集合建立索引或切片操作,只能迴圈遍歷或使用in、not in來訪問或判斷集合元素。

s1 = set('

alvin')

print('a'

ins1)

print('b'

ins1)

#s1[1] #typeerror: 'set' object does not support indexing

for i in

s1:

print

(i)#

#true

#false#v

#n#l

#i#a

可使用以下內建方法來更新:

set.add():增

set.remove():刪

set.update():改

注意:只有可變集合才能更新:

#

s1 = frozenset('alvin')

#s1.add(0) #attributeerror: 'frozenset' object has no attribute 'add'

s2=set('

alvin')

s2.add('mm

') #

『mm』 會作為乙個整體存入

print(s2) #

s2.update('ho

')#

新增多個元素,把 ho 拆開,作為單個元素新增進去,如果有重複的,會去重

print(s2) #

s2.update([12,'

alex

','eee

','alvin

']) #

列表裡面,元素是乙個整體,

print(s2) #

s2.remove('l

') #

指定刪除,當值不存在時,會報錯

print(s2) #

s2.discard('

vvvv

') #

指定刪除,當值不存在時,不會報錯

s2.pop()

#隨機刪除乙個元素

s2.clear() #

清空集合

del s2:刪除集合本身

1 in ,not in:判斷某元素是否在集合內

2 集合等價與不等價(==, !=)

3 子集、超集

4 print(a.isdisjoint(b)),兩個集合沒有任何關聯就返回為真

python資料型別 集合

集合介紹 集合用法 集合的交集差集 intersection 這倆是交集 集合的並集 對稱差集 兩集合相交集合之外的集合 包含關係 總結 s set 3,5,9,10 建立乙個數值集合 t set hello 建立乙個唯一字元的集合 a t s t 和 s的並集 b t s t 和 s的交集 c t...

python資料型別之集合型別

一 集合的作用 知識點回顧 可變型別是不可hash型別,不可變型別是可hash型別 作用 去重,關係運算 定義 可以包含多個元素,用逗號分割,集合的元素遵循三個原則 1.每個元素必須是不可變型別 可hash,可作為字典的key 2.沒有重複的元素 4.無序 注意集合的目的是將不同的值存放在一起,不同...

python資料型別之集合

集和 set 字典的近親 實現列表去重 方法1 li 1,2,3,4,3,2 s set li l list s print set l 方法2 li 1,2,3,4,3,2 d fromkeys li print d.keys 集和是無序的,不重複的資料型別,不支援索引,切片,重複,和連線,但支援...