1. 程式人生 > >python學習日記(六)

python學習日記(六)

        我好像拖得一次比一次嚴重了hhhh,其實這段時間也有學習,只不過很零碎,沒找到完整的時間上來更新學習筆記emmmm。這幾次學的是列表,和c語言的陣列有類似卻又有很大的差別。

        1.陣列放的資料必須是同一型別的,然後用索引下標進行標註。python沒有資料型別,所以python沒有陣列,而是用列表代替

        2.建立普通列表,用中括號括起來,用英文逗號隔開

        3.列表裡面也能新增列表。可以建立一個空列表以備用

        4.向列表裡面新增元素,用append(),但是一次只能新增一個元素。如果需要新增進多個元素,需要用到extend(),需要注意的是extend()的物件是列表,是將這個列表裡的元素新增進另一個列表裡,即extend([])。用len()計算列表長度。append() 方法是將引數作為一個元素增加到列表的末尾。extend() 方法則是將引數作為一個列表去擴充套件列表的末尾。

        5.insert()插入指定位置。insert(索引值,元素),要注意的是,索引值從0開始

        6.從列表中獲取元素:列表[i](感覺和string有點像)

        7.從列表中刪除元素:remove(元素),不需要知道在哪個位置,只需要知道元素的具體值;del,del 列表[i],需要知道具體的位置,如果不加位置將刪掉全部列表;pop(),將元素提取出來,返回提取出去的元素

        8.列表分片/切片slice:一次性獲取多個元素,列表[開始位置:結束位置],注意結束位置不包含在內,且分片得到的是原來列表的拷貝,原來的列表並沒有發生任何變化。

        9.列表支援負數索引,正常索引從左到右從0開始,負數索引從右往左從-1開始

        10.要將list1完全複製,一定要用切片方法:list2=list1[:],而不能list2=list1,第一種是完全拷貝,形成一個新的列表list2,不會隨著list1的改變而改變。但是第二種只是將list1給了一個新的名字,一旦list1變了,list2也會同樣變化。

        11..比較操作符,可以直接進行比較,預設從第0個索引值開始比較,一旦第一個值滿足條件,則不再詢問第二個值
>>> list1=[123]
>>> list2=[234]
>>> list1<list2
True
>>> list1=[123,456]
>>> list2=[234,123]
>>> list1<list2
False

但是如果改成list1<=list2,則結果為true

        12.list2*3,則會將list2中的元素複製三次

        13.列表裡也可以用成員操作符in,not in 來判斷一個元素是否在列表裡。

        14.count()計算引數在列表中出現的次數:list.count('acd')

        15.index()返回引數在列表中的位置,list.index('acd',3,7),即在索引3和索引7之間acd第一次出現的位置。

        16.reverse()翻轉,list.reverse()

        17.sort()排序,預設從小到大進行排序。list.sort()。sort(func,key,reverse),其中,前兩個預設不寫,最後一個預設值為false,則從小到大排,如果改成sort(reverse=true),則從大到小排。