python學習之資料型別(set)

2022-06-01 21:30:12 字數 2400 閱讀 4465

3.9.1 介紹

​ 集合是乙個無序且不重複的元素集合。元素必須是可雜湊的(int,str,tuple,bool)。可以把它看作是dic的key的集合。用{}表示。

注意:set集合中的元素必須是可hash的, 但是set本身是不可hash得,set是可變的。

set1 =  #報錯,含有列表

set2 = } #報錯,含有字典

set3 = #報錯,含有列表

注意到沒有,元素的元素也必須是可雜湊的。

set的特性,讓它在除重的應用中使用方便。

一行**給列表去重

lst = [11,22,33,'hah','a','hah',22,33,11]

lst = list(set(lst)) #把lst轉換成集合再轉換成列表

print(lst)

##輸出

[33, 11, 'hah', 'a', 22]

3.9.2 集合的操作

1.增加

.add()

語法:set.add(元素)一次只能增加乙個元素,新增前set先進行查詢操作,如果元素已存在,add將不會把該元素新增到set中。

set = 

set.add('李菁')

set.add('易大師')

set.add('慎')

set.add('慎')

print(set)

#輸出 #順序是不定的,且重複的內容不會新增到set中

.update()

語法:set.update('abc') 迭代更新成'a' 'b' 'c'

set.update(['abc']) 迭代更新成'abc'

set = 

set.update('劍豪')

print(set) #輸出

set.update(['劍豪'])

print(set) #輸出

2.刪除

.pop()隨機彈出,返回彈出值,但是,不能指定刪除某個元素

.remove('元素') 刪除特定值,不會返回刪除值

.clear() 清空

.discard(''元素'') 如果刪除的是set中的元素,則刪除,否則,什麼也不做.

.del set 刪除整個集合

3.索引與替換

​ 因為set是無序的,不能使用索引進行操作,沒有辦法去定位⼀個元素,也就無法直接通過索引進行替換。

​ 如果要進行替換操作,只能先刪除要替換的元素然後新增新的元素。

4.查詢

​ set 是乙個可迭代物件,可以使用for迴圈輸出元素。

​ set支援 x in set, len(set), for x in set

​ 作為乙個無序的集合,sets不記錄元素的位置和插入點

5.常用操作

操作符方法描述&

.intersection()交集|

.union()並集-

.difference()

差集,得到第乙個set的內容

^.symmetric_difference()

反交集,對稱差集;輸出兩個集合中單獨存在的資料

<

.issubset(a < b)

子集,判斷a是不是b的子集

>

.issuperset(a < b)

超集,判斷a是不是b的超集

se1 = 

se2 =

print(se1 & se2) #交集,輸出

print(se1 | se2) #並集,輸出

print(se1 ^ se2) #反交集,輸出

se3 =

print(se3 < se1) #子集,輸出true

print(se2 > se3 ) #超集,輸出false

6.frozenset()凍結集合

​ set集合本⾝是可以發生改變的,是不可hash的。我們可以使用frozenset來儲存資料,frozenset是不可變的,也就是⼀個可雜湊的資料型別,之後就可以把他轉成dic的key來使用。

​ frozenset是凍結的集合,它是不可變的,存在雜湊值,好處是它可以作為字典的key,也可以作為其它集合的元素。缺點是一旦建立便不能更改,沒有add,remove方法。

se1 = 

print(type(se1)) #輸出se1 = frozenset(se1)

print(type(se1)) #輸出print(type(se1))

dic =

print(dic)

學習Python 之 資料型別

首先,python程式,要嚴格注意 縮排,在c中所有需要括號的地方,都要縮排,不然程式會報錯.indentationerror expected an indented block 資料型別 1.dictionary 形式 d 1 在乙個 dictionary 中不能有重複的 key。給乙個存在的 ...

Python學習筆記之資料型別

計算機簡而言之為進行計算的機器。計算機的所有功能的本質是計算功能,無論是網路資訊發布還是醫院的計費系統,其本質都是計算。而計算機語言則是人類與計算機互動的語言,人類通過計算機語言告訴計算機做什麼事情。python自然也不例外,它實際上就是人類與計算機溝通的語言或者說工具。然而,python天生又是為...

Python學習之基礎資料型別

在python 2中,整數除法的結果只包含整數部分,小數部分被刪除。請注意,計算整數結果時,採取的方式不是四捨五入,而是將小數部分直接刪除。python2中需要保留至少乙個運算元為浮點數,結果才能保證為浮點數。在python 2中,無需將要列印的內容放在括號內。從技術上說,python 3中的pri...