1. 程式人生 > >python學習筆記3--dict和set

python學習筆記3--dict和set

字典物件

和其他許多語言一樣(如java的map,JavaScript的物件),python也有字典物件(dictionary)。字典物件的一個特徵就是以鍵值對(key-value)的方式儲存資料。

python dict的建立方式為一對花括號包上鍵值對s。如:students = {'NO1':'天才一號','NO2':'天才二號'}。

給dict賦值,可以用students['NO3'] = '天才三號'的方式。

注意:key必須為不可變的資料型別,如string,int等,類似於list[],tuple()等可變資料型別不能作為key。

tuple雖然已經定義就不能改變,但不可變的只是各個元素的記憶體地址,如果記憶體地址中的值改變了,雖然tuple(不變的記憶體1,...不變的記憶體N)從記憶體層面上來看沒有發生改變,但它的實際內容已經發生了改變,所以並不能作為dict的key。

字典物件的取值:

①直接用dict[key]的方式,如students['NO3']       若students不存在key為NO3的資料,則會報錯

②用get函式,如students.get("NO4"),若key不存在,則返回None物件

③用get函式,student.get("NO4",'sorry,NO4 does not exist'),當key不存在,返回預定義的值

a= {}
a['a'] = 'nice to meet you'
a['b'] = [1,2,3,4,5]

print(a.__contains__(1),1 in a,a.get(1) == None
,a.get(1,'no Exits'))

要刪除一個key,用pop(key)方法,對應的value也會從dict中刪除

set

set和dict類似,也是一組key的集合,但不儲存value。由於key不能重複,所以,在set中,沒有重複的key。

要建立一個set,需要提供一個list作為輸入集合:

>>> s = set([1, 2, 3])
>>> s
{1, 2, 3}
通過add(key)方法可以新增元素到set中,可以重複新增,但不會有效果

通過remove(key)方法可以刪除元素

set可以看成數學意義上的無序和無重複元素的集合,因此,兩個set可以做數學意義上的交集、並集等操作:


>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4])
>>> s1 & s2
{2, 3}
>>> s1 | s2
{1, 2, 3, 4}