1. 程式人生 > >與基本資料型別的第三次相遇-----python字典&集合

與基本資料型別的第三次相遇-----python字典&集合

                                                                                字典

python中的字典類似於java集合中的map,都是通過hash表實現的,通過鍵值對來對資料進行操作。依靠,鍵與值之間的對映關係來匹配資料。

            字典是無序的、可變的。

            注意事項:key必須是唯一,不可變的,比如說數值、字串、元組,但是列表、字典不行。value可以任意且可以重複。

            或許我們可以從另一個角度來看,字串、列表、元祖的下標都是預設0,1,2...那麼,在字典中其實就是相當於我們自定義下標,然後根據自定義的下標來匹配value。

           

            

            也就是說字典的key不能是字典和列表。

                                                                字典中常用的方法
增:

刪:

pop(key)//指定key值,刪除鍵值對,並返回該鍵值對的value值。

clear()//清空字典。

del

popitem()//隨機刪除一個鍵值對,並以元祖的形式返回

改:

查:

1.根據key值,如果key值不存在則報錯

2.get(key)//根據key值,返回value;如果key值不存在,則返回none

3.setdefault(key,dv)//根據key值查詢value,當key值不存在時,返回dv(defaultvalue)

鍵、值、鍵值對

keys()//以列表的形式,返回字典中所有的key值

values()//以列表的形式,返回字典中所有的value值

items()//把字典中的每一對鍵值取出來,每一對鍵值組成一個元祖,最後以列表的形式返回

update(dict)//把引數字典的鍵值對取出來,新增到呼叫者的字典中。“喜結連理”

                                                            集合

python中的集合個人看來與數學中的集合十分相近。在python中,集合分為兩類:set(可變集合)和frozenset(不可變集合)

集合的特性:

1.集合中元素都是不可變的,也就是說集合中的元素不能是列表、字典、set

2.集合中的元素是具有互異性

3.集合中的元素是無序的

4.集合中的元素具有確定性

集合運算


集合中的常用方法

add(e)//使用add(e)方法新增單個元素.引數是元祖、字典的話是直接把引數當做一個整體新增到集合中,引數不能為集合。


update(e)//使用這個方法,可以同時新增多個元素。update(e)中的引數如果是列表,字串、元祖,則會先進行迴圈遍歷,取出後去重在新增到集合中。

刪:

discard(e)//刪除指定的元素,如果指定的元素不存在,原集合不變,也不報錯

remove()//刪除指定的元素,如果指定的元素不存在則爆錯

pop()//隨機刪除一個元素,並返回值

clear()//清空集合

因為集合中的元素都是不可變元素,都是不能修改的。

判斷函式:

isdisjoint(set)//判斷兩個集合是否存在並集,如果不存在則返回true,反之則返回false

issubset(set)//判斷是否是子集

issuperset()//判斷是否是父集


difference_update()//eg:A.difference_update(B)類似於A-=B


symmetric_difference_update()//eg:A.difference_update(B)類似於A^=B


intersection_update()////eg:A.difference_update(B)類似於A&=B