資料結構在計算機科學中是指的是使用計算機對資料進行儲存、組織的方式。python中容器(container)包含序列、對映,序列以索引(index)標註元素,例如序列、元組等;對映以鍵(key)標註元素,例如字典。
列表(list)元組(tuple)字串(string)字典(dict)python中索引的規則為由0開始(0,1,2,3...),這與日常計數習慣是不同的。
python中索引可以倒數,即索引系列....n-2,n-1,n,可以記為...-3,-2,-1
列表 list列表是一種序列。列表中的值可以進行修改,所以列表不可用作字典的鍵等不可修改的場合。列表可以巢狀,即列表以列表為元素,可以用於二維或更高維陣列的表示。建立列表建立空列表 examp_list = []由字串生成列表 examp_list = list("string") 逆操作`"".join(examp_list)指定個數的相同元素 examp_list = [42]*100切片(slicing)examp_list[begin : end : step] - 切片是非常有效的一個運用,可以起點、終點、步長擷取列表中的某個子集。 - 起點或終點省略則取該方向的邊界值,步長省略預設為1 - 切片也可以用於為序列指定範圍賦值examp_list[2:4] = [value]
成員資格(in) 判斷是否為序列的值內建函式(len/min/max/del) 取序列的個數、最大值、最小值、刪除元素列表方法append 在序列末尾新增元素count 統計序列中指定元素的個數extend 在列表末尾新增另一個序列中的多個值index 查詢指定值匹配項的索引位置insert 在指定位置插入指定值pop 移除並返回序列中指定值,預設為末尾元素remove 移除列表中指定值的第一個匹配項reverse 列表中元素反向存放sort 對列表排序元組 tuple元組是一種序列元組中的值不可以修改,所以元組常用於字典鍵值等不應修改的場合。元組與列表相似,建立時使用(),若建立只含一個元素的元組,需新增一個,,即: t = (1,)列表各種操作,除了改變元組元素的操作外,都適用於元組(畢竟元組是不可以修改的)。字串 string字串是一種序列。字串元素與元組相類似,不可改變。字串的格式化與C語言中基本相似不在此贅述。字串方法find 從字串中查詢指定子集並返回子集最左端索引。split 按指定的分隔符,把字串分割成列表;join的逆運算。join 用指定分隔符,把字串列表連線成字串;split的逆運算。lower 返回字串小寫字母版。replace 返回以指定字串代替字串後的字串。strip 返回去除兩側空格後的字串。translate 單字元按maketrans建立的引數表替換。字典 dictd = {"key1":val1,"key2":val2,...} - 鍵應為不可變型別
基本製作len 返回字典中元素個數d[k] 返回鍵k的值d[k] = v 鍵k賦值vdel d[k] 刪除鍵k項k in d 判斷k是否為d中鍵clear 清除字典中所有項copy 返回鍵-值對相同的新字典fromkeys 用指定鍵建立新字典,值預設為Noneget 訪問指定鍵的值,可以避免鍵不存在時的錯誤提示has_key 判斷字典中是否含有特定鍵,與in功能相似,python3中不再有此函式items 以列表形式返回字典中所有鍵-值對iteritems 以迭代器形式返回字典鍵-值對keys 以列表形式返回所有鍵iterkeys 以迭代器形式返回字典所有鍵values/itervalues 與上面keys、iterkeys相似pop 返回指定鍵的值,並刪除鍵值對popitem 隨機(因為無序碼)返回鍵-值對,並刪除update 利用字典項更新另一個字典