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()
用於在元組中查詢指定值
集合是乙個無序不重複元素的集。基本功能包括關係測試和消除重複元素。可以用大括號({})建立集合。注意:如果要建立乙個空集合,你必須用 set() 而不是 {} ;後者建立乙個空的字典。>>> 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))
字典是一種無序的對映的集合,包含一系列的「鍵:值」對。字典常量用花括號表示。
字典具有以下特點:
理解字典的最佳方式是把它看做無序的鍵=>值對集合。在同乙個字典之內,關鍵字必須是互不相同。一對大括號建立乙個空的字典:{}。或者用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列表型別不同操作的時間效率 ...