1. 程式人生 > >Python自學入門學習基礎之一: 列表和元組

Python自學入門學習基礎之一: 列表和元組

Python自學 Python列表和元祖 Python基礎學習

本人從事Python多年,有好多小夥伴加了我之後說:有沒有相對來說簡單點的教程,你寫的一些大項目我們小編看不懂!!今天我就發一篇小白入門學習之一的基礎,列表和元祖,歡迎大家訂閱公眾號:Python從程序猿到程序猿,或者加 ,山君:49130.8659,編碼:柯西 。。。編碼:柯西,,我會分享爬蟲或者web從0基礎到項目實戰的一系列的視頻資料,保證可以讓你自學成才。

技術分享圖片

列表

首先,列表屬於序列,那麽序列類型可用如下內建函數——

  1. list(iter):把可叠代對象轉換為列表。

  2. str(obj):把obj對象轉換為字符串,即用字符串來表示這個對象。

  3. tuple(iter):把一個可叠代對象轉換為一個元組。

  4. unicode(obj):把對象轉換成Unicode字符串。

  5. basestring():抽象工廠函數,其作用僅僅是為str和unicode函數提供父類,所以不能被實例化,也不能被調用。

  6. enumerate(iter):接受一個可叠代對象作為參數,返回一個enumerate對象,該對象生成由iter每個元素的index值和item值組成的元組。

  7. len(seq):返回seq的長度。

  8. max(iter,key=None)、max(arg0,arg1...,key=None):返回iter或(arg0,arg1...)的最大值,如果指定了key,這個key必須是一個可以傳給sort()方法的,用於比較的回調函數。

  9. min(iter,key=None)、min(arg0,arg1...,key=None):返回iter或(arg0,arg1...)的最小值,如果指定了key,這個key必須是一個可以傳給sort()方法的,用於比較的回調函數。

  10. reversed(seq):接受一個序列作為參數,返回一個以逆序訪問的叠代器。

  11. sorted(iter,cmp=None,key=None,reverse=False):接受一個可叠代對象作為參數,返回一個有序的列表,可選參數cmp、key和reverse和list.sort()內建函數含義一樣。

  12. sum(seq,init=0):返回seq和可選參數init的總和,其效果等同於reduce(operator.add,seq,init)。

  13. zip([it0,it1...]):返回一個列表,其第一個元素是it0、it1...這些元素的第一個元素組成的一個元組,其它元素依次類推。

  14. 技術分享圖片

其次,列表就像一個線性容器,但是比C++的 lis t擴展多得多

列表裏的元素可以是相同類型,也可以包含各種類型,比如列表裏嵌套另一個列表

列表可以進行切片,切片的操作類似於對函數的調用,返回值一個新的列表

切片 L1[ x : y : z ] 是半開閉區間(z通常不用寫),如L1[1:3] 返回的是一個從 L1[1] 開始到 L1[2] 結束的列表,不包含L1[3]

x 不寫表示從頭開始,y 不寫表示直到列表結束,z 用於表示步長, 默認是1, 可以認為是在這個區間裏每 z 個元素取一個(取第一個),可以是負數,表示從後到前遍歷

列表可以做加法,做乘法,字符串也可以看做一個字符的列表

in語句,判斷一個對象是否在一個字符串/列表/元組裏

not 語句表示對後面的否定

len 可以檢測字符串/列表/元祖/字典的元素個數

max 可以返回最大元素,min 返回最小元素

技術分享圖片

基礎降到這,也就不會給代碼了,知道一個思路,你們可以手動實現以下操作:

  1. 賦值

  2. 刪除

  3. 分片賦值

  4. 將一個元素添加到列表的末尾

  5. 合並列表

  6. 返回列表中的坐標

  7. 刪除位置的元素並將它返回

  8. 將列表逆序

    元祖

  9. 技術分享圖片

元組也屬於序列,但元組為不可修改的列表。所以元組沒有以上序列通用方法可用!

一個元素的元組表示為 ( 1 , )

元組可轉換成列表,反之亦然。

內建的 tuple() 函數接受一個列表參數,並返回一個包含同樣元素的元組,而 list() 函數接受一個元組參數並返回一個列表。

從效果上看, tuple() 凍結列表,而 list() 融化元組。

可以用列表 或 元組 進行一次多賦值


Python自學入門學習基礎之一: 列表和元組