Python 常用容器的簡單說明與例子

2021-09-25 06:31:06 字數 1421 閱讀 8927

動態集合,屬於鏈式儲存結構,擅長增刪,不擅長查詢,有序。

例子:建立:l=[1,2,'s']

l.insert(引索, '要新增的資訊')  新增到指定的引索位置

刪:pop()    該函式有過載,當無參時預設刪除最後乙個元素,有引數時,引數作為集合中指定的引索位置值 

也就是刪除指定引索的元素

改:直接更改引用就ok,例如這樣

l[521,487,94,66]

將l集合中的第二個元素改為111

屬於順序儲存結構,擅長查詢,不擅長修改,有序。

建立:t=(0,1,2,,"c") 建單個元素的tuple集合時記得加乙個逗號,不然會被認為是算術裡的優先順序,這樣:t=(1,)

tuple被稱為唯讀列表,即資料可以被查詢,但不能被修改,當元素作為單個變數時是不能改,但是如果元素是list時,是可以修改元素內容的。

增:常規的函式增添元素是不可能的,但是可以對兩個tuple進行連線 t1=(1,2,3)  t2=(4,5,6)

t=t1+t2    原理是重新申請一塊空間存放t1與t2的元素。

刪除:del()刪除整個tuple。

詳細內容:

使用2種儲存結構,雜湊表和鏈式儲存結構,使用雜湊表儲存每個鍵的雜湊值,查詢時對比雜湊值,改時用鏈式,增刪改查都快,缺點是佔記憶體,無序。

字典值可以沒有限制地取任何python物件,既可以是標準的物件,也可以是使用者定義的,但鍵不行。

1)不允許同乙個鍵出現兩次。建立時如果同乙個鍵被賦值兩次,後乙個會覆蓋掉前乙個。

2)鍵必須不可變,所以可以用數字,字串或元組充當,所以用列表就不行。

建立:d=

增:d["d"]=4

刪:del d['a']

改:d['a']=5,如果鍵存在,則會修改值的內容,如果輸入的鍵不存在則會新增新鍵值對。

查:d['a'],如果存在則會返回值的內容,如果不存在則會報錯。 也可以用這個方法dict.has_key(key)

詳細內容:

早期的2.x版本似乎是沒有set這個集合的,後來才加入的,目前我使用的2.7.14版本支援set

所以在2.7.14先建立為list再轉換為set

特點:無序,增刪和查詢都較快,,唯一性。

建立:a=set[('a','b','c')]  python3之後可以直接set()不需要加方括號

增:s.add( 'x')

刪:s.remove( 'x' )#不存在會報錯

s.discard( x )#不存在不會報錯
改:由查刪增組合而成,如果存在則不需要操作,如果不存在則新增,如果想將某個指定元素修改則需要由刪增組合。

查:x in s   元素s是否在s中,返回布林值

詳細內容: 看的時候注意python版本。

好了,就這樣,寫出來只是為了方便查詢。

常用編碼簡單說明

ascii編碼 這是最早的一種編碼,很多其他的編碼都會相容ascii編碼,ascii編碼只包含常用的英文本母,數字,以及一些特殊字元,還有部分控制字元。每個字元由占用乙個位元組的儲存空間,因為最多隻包含127個字元,而乙個位元組 8bit 最多可以存256 2 8 個字元,故其最高位都為0。例如大寫...

FormatMessage簡單說明

常用引數簡介.formatmessage format message from system format message allocate buffer,null,lval,null,lptstr hlocal,0,null 第乙個引數是標誌,告訴這個formatmessage函式,我想要的特點...

Subversion 簡單說明

subversion 簡單說明 checkout 從源 管理伺服器取出 commit 提交更新的 到源 管理伺服器。update 從源 管理伺服器獲取 的最新更新。export 從源 管理伺服器匯出 匯出的 將脫離源 管理。revert 將當前資料恢復到最近與伺服器同步的版本,即放棄自己的所有未提交...