1. 程式人生 > >《零基礎入門學習Python》學習筆記之第二十七講

《零基礎入門學習Python》學習筆記之第二十七講

學習筆記之第二十七講

測試題:

  1. 請問集合的唯一作用是什麼呢? 答:確保裡面元素的唯一性。

  2. 如果你希望建立的集合是不變的,應該怎麼做? 答:用frozenset()函式將集合冷凍

  3. 請問如何確定一個集合裡邊有多少個元素? 答:使用len(set)

  4. 請目測以下程式碼會列印什麼內容?

    num_set = set([1, 2, 3, 4, 5]) num_set[0]

複製程式碼 答:會報錯,集合不支援索引,因為其無序的特徵

  1. 請問 set1 = {[1, 2]} 和 set1 = set([1, 2]) 執行的結果一樣嗎? 答:不一樣,set1 = {[1, 2]}會報錯,set1 = set([1, 2])會輸出{1,2}的集合(相當於用set()函式將列表【1,2】變成集合) (從報錯資訊上我們看到“列表不是可雜湊型別”,沒錯,列表是可變的,它怎麼可以雜湊呢?!咦,等等,這句話好像在那聽過……呃,敢情集合跟字典的儲存方式一樣的丫!其實你再想想就會覺得很有道理,利用雜湊函式計算,相同的元素得到的雜湊值(存放地址)是相同的,所以在集合中所有相同的元素都會覆蓋掉,因此有了集合的唯一性。然後你繼續接著想就覺得更有道理了,通過雜湊函式計算的地址不可能是按順序排放的,所以集合才強調是無序的!)

  2. 開啟你的IDLE,輸入set1 = {1, 1.0},你發現了什麼? 答:輸出{1},因為集合的元素唯一性 (因為在python的雜湊函式中相同的值計算會得到相同的地址,所以1和1.0是等值的。)

  3. 請問如何給集合新增和刪除元素?

答:使用add()方法可以為集合新增元素,使用remove()方法可以刪除集合中已知的元素。