dict和set

南極之戀發表於2019-03-28
 1 《1》:
 2 set和dict類似,也是一組key的集合,但不儲存value。由於key不能重複,所以,在set中,沒有重複的key。
 3 要建立一個set,需要提供一個list作為輸入集合:
 4 
 5 s = set([1,2,3])
 6 print(s)
 7 結果:[1,2,3]
 8 
 9 注意,傳入的引數[1, 2, 3]是一個list,而顯示的{1, 2, 3}只是告訴你這個set內部有1,2,3這3個元素,顯示的順序也不表示set是有序的。。
10 
11 《2》:
12 如果,列表內有重複的元素會被set過濾掉
13 s = set([1,2,2,3,5,5,,6])
14 print(s)
15 結果:[1,2,3,5,6]
16 
17 《3》:
18 s = set([1,2,3,4,5])
19 s.add(2)  # 新增 2
20 print(s)
21 結果:[1,2,3,4,5]
22 在這裡使用add新增元素列表裡已有的是沒用的
23 《4》:說一下不可變的物件
24 # 雖然字串有一個replace()方法,但是到底能不能改變str型別我們一探究竟。
25 >>>s = ‘abcd’
26 >>>b = s.replace('a',' A')
27 'Abcd'
28 >>>s
29 abcd
30 當我們呼叫a.replace('a', 'A')時,實際上呼叫方法replace是作用在字串物件'abc'上的,而這個方法雖然名字叫replace,但卻沒有改變字串'abc'的內容。相反,replace方法建立了一個新字串'Abc'並返回,如果我們用變數b指向該新字串,就容易理解了,變數a仍指向原有的字串'abc',但變數b卻指向新字串'Abc'31 [小結:]
32 所以,對於不變物件來說,呼叫物件自身的任意方法,也不會改變該物件自身的內容。相反,這些方法會建立新的物件並返回,這樣,就保證了不可變物件本身永遠是不可變的。
33 使用key-value儲存結構的dict在Python中非常有用,選擇不可變物件作為key很重要,最常用的key是字串。
34 tuple雖然是不變物件,但試試把(1, 2, 3)和(1, [2, 3])放入dict或set中,並解釋結果。
set和dict

 

相關文章