集合是乙個無序不重複元素的集,基本功能包括關係測試和消除重複元素,是可變資料型別。
集合資料型別的核心在於自動去重。
集合使用{}框定元素,並以逗號進行分隔。
集合的樣式: se_1 =
s =
s = set()
s = set(可迭代物件)
注意⚠️
如果直接 s = {}
建立的是字典(dict)形式。
s1 = set()
這樣才是建立了空的集合。
同時set()括號內可新增可迭代物件。
s2 = set([1, 2,3,1,2,3,12,3])
列印結果為 集合自動去重來。
s3 = set(「hello world」)
列印結果為可以發現集合是無序排列,並且全部拆開。
set.add(key):新增元素到set中
s = set([1, 2, 3, 4, 5])
s.add(3)
會發現沒有效果,因為新增的3這個元素在s中原本就存在所以自動去重。
s.add(8)
列印結果發現:新增成功了。
集合能夠容納各種資料型別
s.add(「amy」)
列印結果
注意⚠️
同字典的key值一樣只能新增不可變資料型別,列表這樣的可變資料型別,會報錯。
set.update()方法:將另乙個物件更新到已有的集合中,這一過程同樣會進行去重。
s =
s.update(『hello』)
列印結果
set.remove(key):刪除指定元素
s =
s.remove(4)
列印結果:
s.remove(「amy」)
列印結果:報錯
小結:remove需要填寫元素,就刪除指定元素。
但是,如果是不存在的元素則會報錯。
set.pop():隨機刪除元素(注意:無引數)
s = set(「hello world」)
s.pop()
列印結果:隨機顯示剩下的元素。同時,隨機刪除元素。
每次顯示的列印結果都不一。
注意⚠️:集合不能取出某個元素,因為集合既不支援下標索引,也不支援字典那樣通過鍵值對獲取。
集合是無序的,所以沒有下標。
列表(list):下標修改
字典(dict):鍵值對修改
集合(set):不可修改
數值:整數、浮點數、複數、bool
字串:可以下標索引。
位元組:b『 』
元組:(,)
python類的可變型別成員和不可變型別成員的區別
usr bin python coding utf 8 class foo1 object x 1 class foo2 object x f1 foo1 f2 foo2 f1.x 3 print f1.x print foo1.x f2.x 101 3 print f2.x print foo2....
day3 python可變的型別 不可變的型別
1 a 1 2 b a 3 print 之前的 b 4 a 2 5 print 之後的 b 為什麼會b a a改變了值,之後b還是等於之前的值呢?其實這個位置儲存的不是變數a,而是變數a的記憶體位址,a改變了值,變成了另乙個記憶體位址,但是b儲存的是a之前的記憶體位址,所以輸出的時候就不會改變。查詢...
java學習筆記4 不可變類
class name public name string firstname string lastname public void setfirstname string firstname public string getfirstname public void setlastname s...