Python攻關之元組與集合

2021-10-02 22:20:27 字數 2606 閱讀 8198

資料型別 集合(set)

一、集合的建立

特點:集合裡的元素是無序和不相同的

集合裡的元素必須是不可雜湊的 既元素不可變

s =

set(

'zhang lang'

)#set 會自動去重 因為集合裡的元素是不同的

print

(s)#輸出結果:

s =set(

'zhang lang'

) s1 =

['zhang'

,'ee'

,'liu'

] s2 =

set(s1)

#列表轉為集合

print

(s2,

type

(s2)

) s3 =

list

(s2)

print

(s3,

type

(s3)

)#集合轉為列表

s1 =

['zhang'

,'ee'

,'liu'

] s2 =

set(s1)

d =#set 不能當作字典的鍵

二、集合的分類:可變集合與不可變集合

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

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

三、集合的操作

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

s1 =

['zhang'

,'ee'

,'liu'

] s2 =

set(s1)

d =#set 不能當作字典的鍵

print

('zhang'

in s1) 輸出結果:true

2.集合元素的新增 add

s =

['zhang'

,'ee'

,'liu'

] a =

set(s)

a.add(

'uu'

)#新增乙個元素

print

(a) update

a.update(

'zph'

)print

(a) a.update([12

,'zph'

]) 新增多個元素

print

(a)

3.集合的刪除

s =

['zhang'

,'ee'

,'liu'

] a =

set(s)

remove

a.remove(

'ee'

)print

(a)pop 隨機刪除

a.pop(

)print

(a) clear 清空

a.clear(

)print

(a)del

del s

print

(s) 完全刪除 會報錯

4.集合型別操作符

(1)

in 與 notin(

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

3)a =

set([1

,2,3

,4,5

])b =

set([4

,5,6

,7,8

])intersection(

) 交集interc

print

(a.intersection(b)

) 等同於 print

(a&b)

輸出結果:

union 並集 a|b

print

(a.union(b)

) 輸出結果:

等同於:pribnt(a | b)

差集print

(a.difference(b)

) 等同於print

(a-b)

in a but not

in b

print

(b.difference(a)

) 等同於print

(b-a)

in b but not

in a

對稱差集 反向交集

print

(a.symmetric_difference(b)

) 等同於print

(a ^ b)

輸出結果:

父集 超集

print

(a.issuperset(b)

)print

(a.issubset(

))

資料型別 元組  

唯讀列表,只有count, index 2 個方法

作用:如果一些資料不想被人修改, 可以存成元組,比如身份證列表

python基礎之元組,集合

一 元組 為何要有元組,存放多個值,元組不可變,更多的是用來做查詢t 1,1,3 sss 1,2 t tuple 1,1,3 sss 1,2 print type t 元組可以作為字典的key d print d,type d d 1,2,3 切片goods iphone lenovo sanxin...

python列表 元組與集合

python列表 一 列表的建立與操作 1.建立列表 a 元素型別可為int,float,complex,str,list,tuple b a,1,true,3j 2,hi c 1,2,3,4 a,b 233,hello d a,b,c 2.列表的索引與切片 c 1,2,3,4 5,6 233,he...

Python攻關之迭代器

生成器都是迭代器,迭代器不一定是生成器 迭代器包含生成器 list tuple dict string iterable 可迭代物件 l 2 2,3 4 d iter l 相當於l.iter print d 什麼是迭代器?滿足兩個條件 1.有iter方法 2.有next方法 l 2,2,3,4 d ...