課堂筆記9(集合 可變型別不可變型別總結)

2021-10-14 06:05:30 字數 1839 閱讀 4346

集合是乙個無序不重複元素的集,基本功能包括關係測試和消除重複元素,是可變資料型別

集合資料型別的核心在於自動去重

集合使用{}框定元素,並以逗號進行分隔。

集合的樣式: 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...