Python中list總結

來源:互聯網
上載者:User

標籤:error   資料   code   括弧   eve   連結   indexer   移除   修改   

1:列表 list的定義:
一個連續的,排列有序的數列,由若干個元素組成,元素可以是任意對象(數字、字串,對象,列表),元素可以使用索引尋找,線性資料結構。使用[ ]表示。列表是可變的,是可迭代對象。

列表具體定義
l=[ ] (空列表) l=list(iterable)
列表不能一開始就定義大小。指定大小會報類型錯誤(TypeError)。

2:列表,鏈表的差異:

列表list(使用index尋找,找的代價小,插入比較慢),
鏈表 (尋找的比較慢,插入比較方便),
具體花費的時間需要根據具體的使用方式權衡。

3:queue ,stack的差異

queue(隊列:先進先出的隊列)
stack(棧:先進後出)

4:列表的索引訪問

索引,也叫下標
正索引:從左至右,從0開始,為列表中每一個元素編號
負索引:從右至左,從-1開始
正負索引不可以超界,否則引起IndexError
約定:可以認為列表是從左至右排列,左邊是頭部,右邊是尾部,左邊是下界,右邊是上界

列表通過索引訪問。 list[index],index就是索引,使用中括弧訪問

5:列表的查詢方法

index(value,[start,[stop]])通過值尋找的。沒有查到就拋ValueError , 靠值遍曆的方式
通過值value,從指定的範圍內尋找列表內的元素是否匹配
匹配第一個就立即返回索引,匹配不到,就拋出異常ValueError
count(value) 靠值遍曆的方式 沒有尋找到數值不拋出異常。返回列表中匹配value的次數

時間複雜度 遍曆尋找的都是O(n),index和count方法都是O(n)

len () 統計列表的長度方法

6:列表元素的修改方法

list[index]=value   索引不要超界

列表增加、插入元素

append(object)--->None 列表尾部追加元素,返回None
返回None就意味著沒有新的列表產生,直接修改列表。 時間複雜度是O(1)
insert(index,object)----->None 在指定的索引index處插入元素object
返回None就意味著沒有新的列表產生,直接修改列表。時間複雜度是O(n)

注意(使用insert()時): 超越上界,尾部追加。 超越下屆,頭部追加

extend(iteratable)--->none 將可迭代對象的元素追加進來,返回None 。直接修改列表。
時間複雜度是O(1)

+----->list 建立一個沒有引用的新對象,之後會被記憶體回收
連結操作,將兩個列表串連起來,原列表不會改變,會產生新的列表
本質上是調用——add_()方法

------>list 重複操作,將本列表元素重複n次,放回新的列表 列表重複,如果設定數列裡面也是數列,會遇到修改一 個,其他重複的元素也跟著修改。

7:列表的刪除元素
remove(value)--->None 從左至右尋找第一個匹配的value的值,移除該元素,返回None
時間複雜度是O(n) ,需要一個一個尋找

pop([index])-->item
不指定索引index,就從列表尾部彈出一個元素,這種情況時間複雜度為:O(1)
指定索引index,就從索引出彈出一個元素,索引超界會拋出IndexError錯誤

clear()---None 清除列表所有元素,剩下一個空列表

8:列表的其他動作
reverse()-->None reverse將列表的元素反轉,放回None 直接修改列表。

sort(key=None,reverse=false)-->None
對列表元素進行排序,直接修改列表,預設升序。reverse為True,反轉,降序
key一個函數,指定Key如何排序 lst.sort(key=functionname)

in 判斷一個列表是否屬於另一個列表

Python中list總結

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.