list+tuple的基礎及操作
阿新 • • 發佈:2018-08-12
value eve 範圍 init type 調用 錯誤 字符串 沒有 列表(list)基礎及基礎操作+tuple的小範圍知識
list
一個排列有序的線性結構隊列,由若幹個元素組成(元素可以是任意對象)
列表是可變類型
list() :new empty(空) list
list(iterable):new list initialized from‘s items iterable:可叠代對象 例:lt = list(range(10))
列表不能一開始就定義其大小 list [index] :index 就是索引,使用中括號訪問
index(value,[start,[stop]]):
通過value值,來查找列表元素;[start,[stop]]:可以確定查找元素的區間
匹配第一個就立即返回索引;匹配不到,拋出ValueError 異常
count(value)
返回列表中value的次數
時間復雜度
index和count方法都是O(n)
效率隨著列表元素規模的增大而下降
len( list )
可以返回列表中元素的個數 時間復雜度為:O(1) append(object)>>>None (返回None,就地直接修改) 例子 li.append(a)
從列表的尾部追加元素,返回None ,就地修改
時間復雜度:O(1)
insert(index,object)>>>None 返回None,就地修改
例子:u = [0,1,2,3] u.insert(-1,5) print(u) result(結果):[0,1,2,5,3]
在指定的索引位置插入元素;時間復雜度:O(n)
當索引超越上下界時 上界 :尾部追加 下界:頭部追加
extend(iterable)>>>None
將可叠代對象的元素追加進來;返回None 就地修改
list
一個排列有序的線性結構隊列,由若幹個元素組成(元素可以是任意對象)
列表是可變類型
list() :new empty(空) list
list(iterable):new list initialized from‘s items iterable:可叠代對象 例:lt = list(range(10))
列表不能一開始就定義其大小
索引,也叫下標
正索引:從左至右,從0開始,為列表的每一個元素編號
負索引:從右至左,從-1開始
左邊為頭部,稱為下界;右邊為尾部:稱為上屆
正負索引不能越界,否則會發生IndexErros異常報錯
通過索引訪問列表:
index(value,[start,[stop]]):
通過value值,來查找列表元素;[start,[stop]]:可以確定查找元素的區間
匹配第一個就立即返回索引;匹配不到,拋出ValueError 異常
count(value)
返回列表中value的次數
時間復雜度
index和count方法都是O(n)
效率隨著列表元素規模的增大而下降
len( list )
可以返回列表中元素的個數 時間復雜度為:O(1)
修改元素
通過索引訪問修改
list[ index ] = value 例:lt [6] = 666
列表增加、插入元素
從列表的尾部追加元素,返回None ,就地修改
時間復雜度:O(1)
insert(index,object)>>>None 返回None,就地修改
例子:u = [0,1,2,3] u.insert(-1,5) print(u) result(結果):[0,1,2,5,3]
在指定的索引位置插入元素;時間復雜度:O(n)
當索引超越上下界時 上界 :尾部追加 下界:頭部追加
extend(iterable)>>>None
- list 例:list1 + list2 返回一個新的列表
連接操作,將兩個列表連接起來,產生一個新的列表,原列表不發生變化
本質上是調用add()方法 - list list2 = [1,2,3]*3 result [1,2,3,1,2,3,1,2,3]
重復操作,將本列表的元素重復n次,返回一個新的列表
列表刪除元素
remove(value)>>>None 返回None 就地修改
從左至右查找 第一個能匹配的value值,移除該元素;時間復雜度O(n)
pop([index])>>> item
不指定索引index時,從列表的尾部彈出一個元素
指定索引index時,就從索引位置彈出一個元素,索引超界時拋出IndexError錯誤
時間復雜度O(n)
clear()>>>Neno
清除列表所有元素,剩下一個空列表
reverse()>>>None 返回None 就地修改 例:list2.reverse()
反轉列表的元素
sort(key = None,reverse = False)>>>None 返回None,就地修改
對列表元素進行排序,默認為升序
reverse為True時 反轉 ,降序
key 一個函數,指定key如何排序 list2.sort(key = funtionname) 當排序時有多個類型時,可用 key = str 將元素類型轉變為str 然後進行排序 排序時會按字符串格式轉化,轉換拍戲 。排完後元素類型並沒有改變
in 遍歷 某一元素 是否在某一個列表中 例:3 in[ 1,5,9,7,3,4] True 當元素是【list】時 取不到其中的元素 返回 False 同時是按內容匹配。當內容不一樣時False 例:[a,10]/c in [ [10,a],[100,50],[c ] ] 因為列表有順序
is 判斷 某一元素 是不是
tuple元祖:
一個有序的元素集合
元祖是不可變類型
tuple() >>> empty tuple
tuple(iterable)>>>tuple initialized from iterable‘s items
元祖元素的訪問
支持索引
正索引:從左至右,從0開始,為列表的每個元素編號
負索引:從右至左,從-1開始
正負索引不可以越界,否則發生EndexError 異常
元祖通過索引訪問
tuple[ index ]
index(value,[start,[stop]])
通過value,從制定區間查找淚表內的元素是否匹配
匹配到第一這個值就立即返回索引,不再往下繼續遍歷
匹配不到,拋出ValueError異常
count(value)返回列表中匹配的value次數
時間復雜度
index和count方法都是O(n)
隨著列表數據規模的增大而效率下降
len(tuple)返回元素的個數
namedtuple(typename,field_names,verbose=False,rename=False)
命名元祖,返回一個元祖的子類,並定義了字段
filef_names 可以是空白符或者逗號分隔的字段的字符串,可以是字段的列表
list+tuple的基礎及操作