1. 程式人生 > >【Python學習】列表

【Python學習】列表

分片 替換 每一個 數組 reverse code last ast 包含

最近準備系統學習python,為了以後能及時查找到,先記錄下.

先說下啥叫序列,之前在用,感覺這個概念有個模糊,今天特意看了下,序列是python中最基本的數據結構,序列中的每一個元素都被分配一個序號,即元素的位置,也成為索引。類似於“數組”。python中包含6種內建序列,即列表,元組,字符串,Unicode字符串,buffer對象和xrange對象。

1.列表的內容是可變的(相對於元組),一般使用“[]”和“,”,如 M= [1,2,3,4]

2.列表元素操作:

(1)元素賦值:可以類似於數組賦值進行列表賦值,可以對一個列表中的元素賦不同類型的值,但不能為一個不存在的元素的位置進行賦值。

技術分享圖片

(2)增加元素:可使用list.append(obj),list代表列表,obj代表需要添加到list列表末尾的對象。

技術分享圖片

(3)刪除元素:del M[0]

技術分享圖片

(4)分片賦值:常使用list()函數

a.若M=list(‘今天天氣多雲’),[‘今‘,‘天‘,‘天‘,‘天‘,‘氣‘,‘多‘,‘雲‘],list()函數可以直接將字符串轉換為列表。

技術分享圖片

b.若M=list(‘ae‘),M[1:]=list(‘bcd‘),list()函數可以使用與原序列不等長的序列將分片替換

技術分享圖片

c.若M=list(‘今天天氣不錯‘),M[2:2]=list(‘安徽省‘),list函數可以在不替換任何原有元素的情況下在任意位置插入新元素。

技術分享圖片

d.可利用分片賦值進行元素刪除,將準備刪除的元素置為空,可對一個序列中任意位置的元素進行刪除。

技術分享圖片

3.列表是可嵌套的。

技術分享圖片

4.列表的方法

(1)list.append(obj),是在列表的末尾添加新對象

(2)list.count(obj),用於統計某個元素在列表中出現的次數,list代表列表,obj代表列表中統計的對象

技術分享圖片

(3)list.extend(seq),list代表列表,seq代表元素列表
技術分享圖片

與序列相加的主要區別:extend()方法修改了被擴展的序列,原始的連接操作會返回一個全新的列表

技術分享圖片

(4)list.index(obj),用於從列表中找出某個值第一個匹配項的索引位置。

技術分享圖片

(5)list.insert(index,obj)

,list代表是列表,index代表對象obj需要插入的索引位置,obj代表是插入列表中的對象。用於從列表中找出某個值第一個匹配項的索引位置。

技術分享圖片

(分片賦值也可實現)

技術分享圖片

(6)list.pop(obj=list[-1]),list代表是列表,obj為可選擇的參數,代表要移除列表元素的對象。用於移除列表中的一個元素(默認最後一個元素),並且返回該元素的值。

a.list.pop(),不傳參數,默認移除最後一個元素

技術分享圖片

b.list.pop(2),刪除a[2]元素

技術分享圖片

pop方法是唯一一個既能修改列表又能方法元素值(除了None)的列表方法。

註:pop方法可實現一種常見的數據結構—棧,類似於堆放盤子,LIFO(last in firsr out),後進先出。入棧(push),python沒有入棧方法,但可以使用append方法替代,出棧(pop)。

(7)list.remove(obj),list代表是列表,obj為列表中要移除的對象。用於移除列表中某個值的第一個匹配項。是一個沒有返回值的原位置元素變更方法。

技術分享圖片

(8)list.reverse(),list代表是列表,該方法不需要傳入參數。用於反向列表中的元素。是一個沒有返回值的原位置元素變更方法。

技術分享圖片

(9)list.sort(func),list代表列表,func為可選參數,若指定參數,會使用該參數的方法進行排序。

技術分享圖片

對列表進行排序,且保持原列表排列順序,先將原始列表使用切片方式進行賦值,如b = a[:]

技術分享圖片

(10)list.sorted(),直接獲取原始列表副本進行排序

技術分享圖片

(11)list.clear(),list代表列表,不需要傳入參數。用於清空列表。

技術分享圖片

(12)list.copy(),list代表列表,不需要傳入參數。用於賦值列表,類似於a[:]

技術分享圖片

(13)高級排序,sort方法有兩個可選參數,即key,reverse。

#len按字符串長度由短到長進行排序

技術分享圖片

#傳入2個參數,按照字符串長度由長到短進行排序

技術分享圖片

#排序後逆序
技術分享圖片

2018/4/22

【Python學習】列表