1. 程式人生 > >Python列表(List)

Python列表(List)

基本知識點:

①列表是最常用的Python資料型別,它可以作為一個方括號內的逗號分隔值出現。

②列表的資料項不需要具有相同的型別

③與字串的索引一樣,列表索引從0開始。列表可以進行擷取、組合等。

④建立一個列表,只要把逗號分隔的不同的資料項使用方括號括起來即可。

如下所示:

>>>list = [1, 2, 3, 4, 5 ]
>>>list
[1, 2, 3, 4, 5 ]

訪問列表中的值

使用下標索引來訪問列表中的值,同樣你也可以使用方括號的形式擷取字元,如下所示:

list1 = ['physics', 'chemistry', 1997
, 2000] list2 = [1, 2, 3, 4, 5, 6, 7 ] print ("list1[0]: ", list1[0]) print ("list2[1:5]: ", list2[1:5])

這裡寫圖片描述
當索引超出了範圍時,Python會報一個IndexError錯誤,所以,要確保索引不要越界。

如果要取最後一個元素,除了計算索引位置外,還可以用-1做索引,直接獲取最後一個元素:

>>>list2[-1]

7

以此類推,可以獲取倒數第2個、倒數第3個,即list[-2],list[-3]

更新列表

list是一個可變的有序表,所以,可以往list中追加元素:

1.追加元素至末尾:用append()函式新增

>>>list = [1,2, 3, 4, 5 ]

>>>list.append(6)

>>> list

[1,2,3,4,5,6]

2.把元素插入到指定的位置,比如索引號為1的位置:用insert()函式新增,

>>>list = [1,2, 3, 4, 5 ]

>>>list.insert(1, 'Jack')

>>>list

[1, 'Jack', 2, 3, 4, 5]

刪除列表元素

1.可以使用 del 語句來刪除列表的元素,del list[i],i為索引位置,如下例項:

list1 = ['physics', 'chemistry', 1997, 2000]

print (list1)

del list1[2] #刪除第三個元素

print (list1)

這裡寫圖片描述

2.要刪除list末尾的元素,用pop()方法:

list = [1,2, 3, 4, 5 ]

list.pop()

print (list)

結果:[1, 2, 3, 4]

3.要刪除指定位置的元素,用pop(i)方法,其中i是索引位置:

list = [1,2, 3, 4, 5 ]

list.pop(2)

print (list)

結果:[1, 2, 4, 5]

4.還有一個remove() 函式是用於移除列表中某個值的第一個匹配項。

aList = [123, 'xyz', 'zara', 'abc', 'xyz'];

aList.remove('xyz');

print ("List : ", aList)

aList.remove('abc');

print ("List : ", aList)

這裡寫圖片描述

替換列表元素

要把某個元素替換成別的元素,可以直接賦值給對應的索引位置:

>>> classmates = ['Michael', 'Bob', 'Tracy']

>>> classmates[1] = 'Sarah'

>>> classmates

['Michael', 'Sarah', 'Tracy']

list裡面的元素的資料型別也可以不同,比如:

>>> L = ['Apple', 123, True]

list元素也可以是另一個list,比如:

>>> s = ['python', 'java', ['asp', 'php'], 'scheme']

>>> len(s)

4

要注意s只有4個元素,其中s[2]又是一個list,如果拆開寫就更容易理解了:

>>> p = ['asp', 'php']

>>> s = ['python', 'java', p, 'scheme']

要拿到’php’可以寫p[1]或者s[2][1],因此s可以看成是一個二維陣列,類似的還有三維、四維……陣列,不過很少用到。

如果一個list中一個元素也沒有,就是一個空的list,它的長度為0:

>>> L = []

>>> len(L)

0

列表擷取

下面例子中利用list[i:],i為想要開始擷取的索引位置。其他的見下圖:

>>>L = ['Google', 'Runoob', 'Taobao']

>>> L[2]

'Taobao'

>>> L[-2]

'Runoob'

>>> L[1:]

['Runoob', 'Taobao']

這裡寫圖片描述

列表指令碼操作符

列表對 + 和 * 的操作符與字串相似。+ 號用於組合列表,* 號用於重複列表。

如下所示:
這裡寫圖片描述

列表函式&方法

Python包含以下函式:

這裡寫圖片描述
Python包含以下方法:
這裡寫圖片描述

Python提供的函式和方法可以自己多敲程式碼測試和使用,強化知識的同時加深下印象。