資料結構
字典與集合的資料結構都以雜湊表的形式進行。
雜湊表的單元通常叫做表元。表元由兩部分組成,乙個是對鍵的引用,乙個是對值的引用。每個表元的大小是相同的。所以可以通過偏移量直接計算找到對應表元,從而根據引用找到相應的鍵以及與之對應的值。
順序可能會打亂
以雜湊表實現,那麼為了減少衝突,要時刻保持 1/3 的表元為空,典型的空間換時間。
但是在向字典中新增元素時,隨時可能擴容,而一旦改變大小,所有字典的雜湊表都會改變,所以在新增新元素時可能會出現衝突,從而順序會被打亂。
所以在遍歷字典的過程中最好不要新增元素,可能會跳過一些元素。
在 python 3.x 中的方法.keys(),.values(),.items() 等返回的是字典的檢視,會實時反饋字典的變化。而且因為返回的是檢視,所以使用key in dict.keys()
時的速度會非常快。(python 2.x 中返回的是列表)
集合與字典是類似的
命名空間與字典
在程式執行過程中,會先在本地locals()
微小陣列中查詢名稱,而後到全域性變數globals()
字典中查詢,如果依然查不到則會到__builtin__
物件中查詢,實際是在__builtin__
的locals()
中查詢。
可以在循壞外部定義本地變數,用來儲存函式的全域性引用,減少查詢次數。
一些標準庫中的知識點
集合操作
並集|
,交集&
,差集-
Python基礎(六) 雜湊型別(集合和字典)
python中集合用 表示。空集用 set 來表示。集合有兩種特性 1 無序性 集合中的元素沒有順序。2 唯一性 集合中的元素是唯一的,即使在建立的時候存在相同的元素,輸出的元素也是唯一的。集合中不能存在任何的可變型別,集合本身是一種可變的資料型別。也就是說集合不能巢狀集合。集合的運算 集合主要有交...
python 集合 字典
1.集合 建立 set 注意 建立空的集合要用set 特點 元素唯一,無序 運算 交集 並集 差集 方法 s.add x 新增單個元素 s.update 新增多個元素 s.remove 移除元素 s.clear 清空集合2.字典 建立 大括號建立字典的鍵時要加引號 dict key value 括號...
python字典 集合
字典 字典的每個鍵值 key value 對用冒號 分割,每個對之間用逗號 分割,整個字典包括在花括號 中 d 鍵必須是唯一的,但值則不必。值可以取任何資料型別,但鍵必須是不可變的,如字串,數字或元組。his dict1 dict2 訪問字典的值 dict print dict name dict ...