Python學習筆記(五) 資料結構

2021-08-20 10:55:25 字數 1916 閱讀 2505

簡單介紹python中的元組、列表、字典和集合。使用比較多的就是列表和字典。

元組使用"()"定義,對於只含有乙個元素的元組要寫成「(x,)」,注意後面的逗號不可以少。注意,元組已經建立是不能改變的,如果你需要改變元組中的內容,只能建立新的元組。

元組函式:

# 元組

tup = (1,(1,2),5,9)

# 元組函式

# x in tup # 若x存在tup中,返回true,否則返回false

# len(tup) # 元祖長度

# tup.count(1) # x在tup中出現的次數

# tup.index(x) # x在tup中第一次出現的位置,如果x不存在,會提示valueerror

列表列表和元組相似,區別是列表是可以改變的。列表使用中括號()括起,其中的元素使用逗號隔開。空列表使用表示,單元素列表表示為[x],元素後面不需要加逗號,區別單元素元組。列表中可包含任何型別的值:數字、字串甚至其他序列。與變數一樣,列表元素指向相應的值,並非包含。

自引用列表:列表中某個元素指向列表本身。

列表解析可以讓**更加清晰明了。常見用途是以某種方式改變現有列表,比如使用列表解析進行篩選。

列表函式:

# 列表

s = [1,2,6,7,23,4,56]

# 列表函式

# s.count(x) # 返回元素x在列表中出現的次數

# s.extend(lst) # 將lst的所有元素都新增到列表s的末尾

# s.index(x) # 返回第一次元素x的索引

# s.insert(i,x) # 將元素x插入到索引i指定的元素前面,結果是s[i] == x

# s.pop(i) # 刪除並返回s中索引為i的元素

# s.remove(x) # 刪除s中的第乙個x元素

# s.reverse() # 反轉s中元素的排列順序

# s.sort() # 將s的元素按公升序排列

字典中儲存的資料都是鍵值對形式。

要訪問字典中的值,可以使用相應的鍵。

和列表一樣,字典是可變的。

字典對鍵有兩種限制:1、鍵必須是獨一無二的;2、鍵必須是不可變的。

字典函式:

# 字典

color =

# 訪問字典中的值,可使用相應的鍵

print(color['red'])

# 字典函式

# color.items() #返回乙個有字典鍵-值對組成的檢視

# color.keys() #返回乙個有字典的鍵組成的檢視

# color.values() # 返回乙個有字典的值組成的檢視

# color.get('red') # 返回與key相關聯的值

# color.pop('key') # 刪除鍵key並返回與其相關聯的值

# color.popitem() # 返回並刪除字典中的某個鍵-值對,具體是那個預先不知道,因此僅當你不在乎字典元素的訪問順序時,這個函式才適用

# color.clear() # 刪除字典中的所有元素

# color.copy() # 複製字典

# color.fromkeys(s,t) # 建立乙個新字典,其中的鍵來自s,值來自t

# color.setdefault(key,v) # 如果鍵key包含在字典中,則返回其值;否則,返回v並將(key,v)新增到字典中

# color.update(e) # 將e中的鍵-值對新增到字典中;e可能是字典,也可能是鍵值對序列

資料結構學習筆記五(跳表)

一 什麼是跳表 在普通鍊錶中要查詢某個元素,只能從頭到尾遍歷鍊錶。這樣查詢的時間複雜度很高 o n 為了提高查詢效率,可以對鍊錶建立 索引 鍊錶加多級索引的結構,就是跳表。在跳表中查詢任意資料的時間複雜度為o logn 由於要儲存索引結構,空間複雜度為o n 跳表利用了 空間換時間 這種思想。跳表不...

學習資料結構(五) 陣列

陣列是下標與值成對的集合。在c 中有靜態與動態之分 1 靜態陣列 定義時顯式宣告資料型別與空間記憶體大小。2 動態陣列 程式執行時才分配空間的。陣列有兩種順序映像方式 1 以行序為主序 低下標優先 最右邊的下標先變化,從右到左 2 以列序為主序 高下標優先 最左邊的下標先變化,從左到右。主要是針對特...

python 學習筆記 3 資料結構型別

python中的資料結構型別包括 字串,元組,集合,字典,列表 1.列表 可變資料型別 可切片 list a 1,2,3 切片特性 a 0 2 切片,前閉後開區間 a1 a 複製 2.字串 不可變的資料型別 可切片 str b today is jun 3.元組 不可變資料型別 可切片 tuple ...