1. 程式人生 > >孤荷凌寒自學python第五天初識python的列表

孤荷凌寒自學python第五天初識python的列表

孤荷凌寒自學python第五天 列表

 

(完整學習過程螢幕記錄視訊地址在文末,手寫筆記在文末)

粗俗地區分列表,可以這樣理解,定義或print列表後顯示時,列表中的各元素都是用一個方括號[]括起來的。

即列表看起來總是這樣的:

lstA=[1,3,5,7,9]

lstB=[‘我’,’愛’,’祖’,’國’]

 

同其它序列一樣,要訪問列表的元素,直接引用元素在序列中的index值即可

lstA[0]    值是:1

lstB[-1]   值是:‘國’

 

一、將其它序列強制轉換成列表

新得到的列表物件 = list(

其它序列物件)

 

如:

>>> strTemp='孤荷凌寒'

>>> lstTemp=list(strTemp)  #將字串強制轉換成列表

>>> print(lstTemp)

['孤', '荷', '凌', '寒']

二、其它序列如:元組、字串等,都是不能直接改變序列中元素的內容的,包括修改元素值、增加新元素、刪除元素、分片賦值等操作。

列表是允許進行內容修改的序列

三、列表元素的重新賦值

如:

>>> strTemp='孤荷凌寒'

>>> lstTemp=list(strTemp)  #將字串強制轉換成列表

>>> print(lstTemp)

['孤', '荷', '凌', '寒']

>>> lstTemp[0]='大'   #對列表的index值為0的元素重新賦值

>>> print(lstTemp)

['大', '荷', '凌', '寒']    #列表中指定元素的值被修改了

四、向列表中新增元素

使用append方法

如:

>>> strTemp='孤荷凌寒'

>>> lstTemp=list(strTemp)  #將字串強制轉換成列表

>>> print(lstTemp)

['孤', '荷', '凌', '寒']

>>> lstTemp[0]='大'   #對列表的index值為0的元素重新賦值

>>> print(lstTemp)

['大', '荷', '凌', '寒']    #列表中指定元素的值被修改了

>>> lstTemp.append('帥')    #向列表的最後新增一個元素’帥’

>>> print(lstTemp)

['大', '荷', '凌', '寒', '帥']

五、刪除元素

使用全域性del函式

>>> del lstTemp[0]   #刪除列表index值為0的元素

>>> print(lstTemp)

['荷', '凌', '寒', '帥']

六、分片賦值

分片賦值是指先取出列表中指定的切片段,然後直接通過=進行賦值,=的右邊是值組成的列表,此列表的元素個數可以不與切片段中的元素個數相同。

>>> print(lstTemp)

['荷', '凌', '寒', '帥']

>>> lstTemp[3:]=list('非常帥')  # lstTemp[3:]這個分片(切片)中只有一個元素,值為‘帥’,=號右邊卻賦值了一個三個元素的列表。

>>> print(lstTemp)

['荷', '凌', '寒', '非', '常', '帥']

七、向列表中指定位置插入元素

操作與分片賦值一樣,只是在分片(切片)時,指定的起始和結束index值是一樣的,如:lstTemp(1:1)    lstTemp(2:2)

表示 在此index值的元素之前的位置插入若干個新元素。

>>> print(lstTemp)

['荷', '凌', '寒', '非', '常', '帥']

>>> lstTemp[0:0]='孤'  #插入元素’孤’到index值為0的元素之前的位置

>>> print(lstTemp)

['孤', '荷', '凌', '寒', '非', '常', '帥']

八、通過分片賦值方式刪除一個區段切片中的多個元素

這與第六點分片賦值完全一樣,只是在賦值式的=號右邊是一個空列表。

>>> print(lstTemp)

['孤', '荷', '凌', '寒', '非', '常', '帥']

>>> lstTemp[4:7]=[]   #=右邊賦值的是一個空列表,就等同於刪除了切片部分的元素

>>> print(lstTemp)

['孤', '荷', '凌', '寒']

 

九、書寫序列的分片程式碼時,最容易犯的錯誤是,將分隔起止index值的符號 : 寫成 , 號。

這是從其它程式語言轉變過來造成的不適應。

如果分隔符號使用錯誤,會提示如下錯誤:

>>> lstTemp[4,7]=[]   #正確的寫法是:lstTemp[4:7]=[]

Traceback (most recent call last):

  File "<pyshell#19>", line 1, in <module>

    lstTemp[4,7]=[]

TypeError: list indices must be integers or slices, not tuple

 

 

——————————

今天整理的學習筆記完成,最後例行說明下我的自學思路:

根據過去多年我自學各種程式語言的經歷,認為只有真正體驗式,解決實際問題式的學習才會有真正的效果,即讓學習實際發生。在2004年的時候我開始在一個鄉村小學自學電腦 並學習vb6程式語言,沒有學習同伴,也沒有高師在上,甚至電腦都是孤島(鄉村那時還沒有網路),有的只是一本舊書,在痛苦的自學摸索中,我找到適應自己零基礎的學習方法:首先是每讀書的一小節就作相應的手寫筆記,第二步就是上機測試每一個筆記內容是否實現,其中會發現書中講的其實有出入或錯誤,第三步就是在上機測試之後,將筆記改為電子版,形成最終的修訂好的正確無誤的學習筆記 。

通過反覆嘗試錯誤,在那個沒有分享與交流的黑暗時期我摸黑學會了VB6,爾後接觸了其它語言,也曾聽過付費視訊課程,結果發現也許自己學歷果然太低,就算是零基礎的入門課程,其實也難以跟上進度,講師的教學多數出現對初學者的實際情況並不瞭解的情況,況且學習者的個體也存在差異呢?當然更可怕的是收費課程的價格往往是自己難以承受的。

於是我的所有程式設計學習都改為了自學,繼續自己的三步學習筆記法的學習之路。

當然自學的最大問題是會走那麼多的彎路,沒有導師直接輸入式的教學來得直接,好在網路給我們帶來無限搜尋的機會,大家在網路上的學習日誌帶給我們共享交流的機會,而QQ群等交流平臺、網路社群的成立,我們可以一起自學,互相批評交流,也可以獲得更有效,更自主的自學成果。

於是我以人生已過半的年齡,決定繼續我的程式設計自學之路,開始學習python,只希望與大家共同交流,一個人的獨行是可怕的,只有一群人的共同前進才是有希望的。

誠摯期待您的交流分享批評指點!歡迎聯絡我加入從零開始的自學聯盟。

這個時代網際網路成為了一種基礎設施的存在,於是本來在孤獨學習之路上的我們變得不再孤獨,因為網路就是一個新的客廳,我們時刻都可以進行沙龍活動。

非常樂意能與大家一起交流自己自學心得和發現,更希望大家能夠對我學習過程中的錯誤給予指點——是的,這樣我就能有許多免費的高師了——這也是分享時代,社群時代帶來的好福利,我相信大家會的,是吧!

 

根據完全共享的精神,開源互助的理念,我的個人自學錄製過程是全部按4K高清視訊錄製的,從手寫筆記到驗證手寫筆記的上機操作過程全程錄製,但因為4K高清檔案太大均超過5G以上,所以無法上傳至網路,如有需要可聯絡我QQ578652607對傳,樂意分享。上傳分享到百度網盤的只是壓縮後的720P的視訊。

 

我的學習過程錄影百度盤地址分享如下:(清晰度:1280x720)

連結:https://pan.baidu.com/s/1ixQacJu3Bv1-7B9qWJOENA 密碼:ypgv

 

Bilibili:

https://www.bilibili.com/video/av35777463/

 

喜馬拉雅:

https://www.ximalaya.com/keji/19103006/136107906