Python3 資料結構

2021-08-30 04:28:52 字數 2578 閱讀 5473

python中列表是可變的,這是它區別於字串和元組的最重要的特點,一句話概括即:列表可以修改,而字串和元組不能。

列表的基本特點: 操作

描述把乙個元素新增到列表的結尾,相當於 a[len(a):] = [x]。

list.extend(l)

在列表末尾新增多個物件,引數可謂迭代物件相當於 a[len(a):] = l

list.insert(i, x)

list.remove(x)

刪除列表中值為 x 的第乙個元素。如果沒有這樣的元素,就會返回乙個錯誤。

list.pop(i)

從列表的指定位置刪除元素,並將其返回。如果沒有指定索引,a.pop()返回最後乙個元素。元素隨即從列表中被刪除。

list.clear()

移除列表中的所有項,等於del a[:]。

list.index(x)

返回列表中第乙個值為 x 的元素的索引。如果沒有匹配的元素就會返回乙個錯誤。

list.count(x)

返回 x 在列表中出現的次數

list.sort()

對列表中的元素進行排序。若列表物件全部是數字,則按數字從小到大排序;若列表物件全部為字串,則按字典順序排序;若包含多種型別,則會出錯。

list.reverse()

倒排列表中的元素,即將列表中物件的位置反轉

list.copy()

複製列表物件

使用 del 語句可以從乙個列表中依索引而不是值來刪除乙個元素。這與使用 pop() 返回乙個值不同。可以用 del 語句從列表中刪除乙個切割,或清空整個列表。例如:

>>> a = [-1, 1, 2, 3,4, 5]

>>> del a[0]

>>> a

[1, 2, 3, 4, 5]

>>> del a[2:4]

>>> a

[1, 2, 5]

>>> del a[:]

>>> a

元組由若干逗號分隔的值組成,元組在輸出時總是有括號的,以便於正確表達巢狀結構。在輸入時可能有或沒有括號, 不過括號通常是必須的。

元組的特點如下:

元組的基本操作如下:

操作描述

(),tuple()

建立元組

len()

獲得元組長度

+加法運算可用於合併多個元組。例如(1,2)+(『ab』) 輸出為: (1,2,『ab』)

*乘法運算可用於合併多個重複的元組,例如:(1,2)*3 輸出為:(1,2,1,2,1,2)

inin操作符用於判斷物件是否屬於元組

count()

用於返回指定值在元組中出現的次數

index()

用於在元組中查詢指定值

>>> t = 1, 5, 'hello!'

>>> t[0]

1>>> t

(1, 5, 'hello!')

>>> # tuples may be nested:

... u = t, (1, 2, 3, 4, 5)

>>> u

((1, 5, 'hello!'), (1, 2, 3, 4, 5))

集合是乙個無序不重複元素的集。基本功能包括關係測試和消除重複元素。可以用大括號({})建立集合。注意:如果要建立乙個空集合,你必須用 set() 而不是 {} ;後者建立乙個空的字典。

字典是一種無序的對映的集合,包含一系列的「鍵:值」對。字典常量用花括號表示。

字典具有以下特點:

理解字典的最佳方式是把它看做無序的鍵=>值對集合。在同乙個字典之內,關鍵字必須是互不相同。一對大括號建立乙個空的字典:{}。或者用dict()建立字典。

字典的基本操作如下:

操作描述

(),dict()

建立字典

len()

獲得字典長度,即「鍵:值」對的個數

inin操作符用於判斷字典是否包含某個鍵

clear()

刪除全部字典物件

copy()

複製字典物件

get(key,[,defauli])

返回鍵key對映的值。如果鍵key不存在,返回空值。可以用default引數指定不存在的鍵的返回值

pop(key,[,default])

從字典中刪除鍵key,並返回對映值,若鍵不存在,則返回default,未指定default時則會出錯

popitem()

從字典刪除並返回鍵值對元組。空字典呼叫時會產生keyerror錯誤

setdefault(key,[,default])

返回對映值或者為字典新增鍵值對。指定鍵key在字典中存在時,返回對映值。若鍵key不存在,則新增「key:default」鍵值對,省略default時,對映值預設為none。

update(other)

用於為字典新增鍵值對。引數other可以是另乙個字典或者賦值格式表示的元組。若字典已經存在同名的鍵,則對映值被覆蓋。

items()

返回鍵值對檢視

keys()

返回字典中所有鍵的檢視

values()

返回字典中所有值的檢視

Python3內建資料結構

資料結構從廣義上理解,就是一組資料的儲存結構 python中的內建資料結構 列表list 元組tuple 字典dict 集合set 1.列表的每個元素可變,列表為可變型別 相對於元組和字串是不可變型別 2.列表是有序的,每乙個元素的位置都是確定的 3.列表中元素可以是python的任何物件 字串 數...

Python3 資料結構之遞迴

遞迴 def fact x if x 1 return 1 else return x fact x 1 tail recursion 尾遞迴 def tail recusion x,total 1 if x 1 return total else return tail recusion x 1,...

Python3 資料結構與演算法

第1節 資料結構和演算法基礎 01.演算法引入 1 演算法引入 02.時間複雜度和大o表示法 01 時間複雜度與大o表示法 02 最壞時間複雜度與計算規則 03 常見時間複雜度與大小關係 03.python列表和字典 01 執行時間測量模組timeit 02 python列表型別不同操作的時間效率 ...