python:列表詳解

列表list

1、列表創建

list1 = [3.14, 1.61, 0, -9, 6]
list2 = [‘train', ‘bus', ‘car', ‘ship']
list3 = [‘a',200,‘b',150, ‘c',100]
list4 = [] #創建空列表

 在Python中,經常用到列表中的列表,即二維列表

2、列表訪問

索引訪問方式適用於所有序列類型的對象:列表、元組、字符串。

1)一維列表的訪問

vehicle = [‘train', ‘bus', ‘car', ‘ship']
vehicle[0]
‘train'
vehicle[1]
‘bus'
vehicle[2]
‘car'

2)二維列表的訪問

對二維列表中的元素進行訪問,需要使用兩對方括號來表示,第一個表示選擇子列表,第二個在選中的子列表中再選擇其元素。

computer=[[‘IBM',‘Apple',‘Lenovo'],[‘America',‘America',‘China']]
computer[0][-1]
‘Lenovo'
computer[1][2]
‘China'

3、修改元素

4、列表切片

1.在列表中,可以使用切片操作來選取指定位置上的元素組成新的列表。簡單的切片方式為:

原列表名[start : end]

需要提供開始值start和結束值end作為切片的開始和結束索引邊界。

開始值start索引位置上的元素是包含在切片內的,結束值end索引位置上的元素則不包括在切片內;

當切片的左索引start為0時可缺省,當右索引end為列表長度時也可缺省。

這個簡單的切片操作從原列表中選取索引位於[start, end)區間內的元素組成新的列表。

2.切片操作也可以提供一個非零整數(即可正可負,但不能為0)作為索引值增長的步長step值。使用方式為:

原列表名[start : end : step]

  • 當步長為1時,step參數可以省略。
  • 步長step為1時可以省略,當步長step不為1時,該參數不可省略。
  • 切片操作適用於所有序列類型。

5、del命令

  • 使用del命令可以從列表中刪除元素,也可以刪除整個列表。
vehicle = [‘train', ‘bus', ‘car', ‘ship']
del vehicle[3]
vehicle #刪除瞭'ship'
[‘train', ‘bus', ‘car']
del vehicle[3] #超出索引范圍
Traceback (most recent call last):
File “<pyshell#50>”, line 1, in
del vehicle[3]
IndexError: list assignment index out of range
del vehicle #刪除列表vehicle
vehicle #列表vehicle不存在瞭
Traceback (most recent call last):
File “<pyshell#82>”, line 1, in
vehicle
NameError: name ‘vehicle' is not defined
另外,remove()、pop()、clear()方法均能實現列表元素的刪除

6、列表運算

1)列表相加

vehicle1 = [‘train', ‘bus', ‘car', ‘ship']
vehicle2 = [‘subway', ‘bicycle']
vehicle1 + vehicle2
[‘train', ‘bus', ‘car', ‘ship', ‘subway', ‘bicycle']
vehicle1 # vehicle1沒有改變
[‘train', ‘bus', ‘car', ‘ship']
vehicle2
[‘subway', ‘bicycle']
vehicle=vehicle1 + vehicle2 # 生成新列表賦值給變量vehicle
vehicle
[‘train', ‘bus', ‘car', ‘ship', ‘subway', ‘bicycle']
vehicle+=[‘bike'] #復合賦值語句
vehicle
[‘train', ‘bus', ‘car', ‘ship', ‘subway', ‘bicycle', ‘bike']

2)列表相乘

vehicle1 = [‘train', ‘bus']
vehicle1*2
[‘train', ‘bus', ‘train', ‘bus']
vehicle1 #原列表保持不變
[‘train', ‘bus']
vehicle=vehicle1*2 #賦值語句
vehicle
[‘train', ‘bus', ‘train', ‘bus']
vehicle*=2 #復合賦值語句
vehicle
[‘train', ‘bus', ‘train', ‘bus', ‘train', ‘bus', ‘train', ‘bus']

7、列表方法

列表中的方法可看作是作用於Python中列表這一特定類型對象的函數。

1) index(value[,start=0[,stop]])

index()方法用於從列表中找出與value值匹配的第一個元素索引位置。

如果沒有指定參數start的值,則從索引為0的位置開始查找,否則從索引為strat的位置開始查找。

如果沒有指定結束索引位置stop的值,可以查找到列表最後元素,否則在位於[start, stop)內的索引區間查找。

如果找不到匹配項,就會引發異常。

vehicle = [‘train', ‘bus', ‘car', ‘subway', ‘ship', ‘bicycle', ‘car']
vehicle.index(‘car') #整個列表范圍內'car'第1次出現的索引位置是2
2
vehicle.index(‘plane') #整個列表范圍內沒有'plane'
Traceback (most recent call last):
File “<pyshell#81>”, line 1, in
vehicle.index(‘plane')
ValueError: ‘plane' is not in list
vehicle.index(‘plane') #整個列表范圍內沒有'plane'
Traceback (most recent call last):
File “<pyshell#81>”, line 1, in
vehicle.index(‘plane')
ValueError: ‘plane' is not in list
vehicle.index(‘plane') #整個列表范圍內沒有'plane'
Traceback (most recent call last):
File “<pyshell#81>”, line 1, in
vehicle.index(‘plane')
ValueError: ‘plane' is not in list

2) count()

count()方法,用於統計某個元素在列表中出現的次數。

vehicle = [‘train', ‘bus', ‘car', ‘subway', ‘ship', ‘bicycle', ‘car']
vehicle.count(‘car')
2
vehicle.count(‘bus')
1
vehicle.count(‘bike')
0

3)append()

append()方法,追加單個元素到列表的尾部,隻接受一個元素,元素可以是任何數據類型,被追加的元素在列表中保持著原結構類型。

vehicle = [‘train', ‘bus', ‘car', ‘ship']
vehicle.append (‘plane') #追加一個元素'plane'
vehicle
[‘train', ‘bus', ‘car', ‘ship', ‘plane']
vehicle.append(8) #追加一個元素8
vehicle
[‘train', ‘bus', ‘car', ‘ship', ‘plane', 8]
vehicle.append([8,9]) #追加一個元素[8,9]
vehicle
[‘train', ‘bus', ‘car', ‘ship', ‘plane', 8, [8, 9]]
vehicle.append(10,11) #追加2個元素10和11,出錯
Traceback (most recent call last):
File “<pyshell#7>”, line 1, in
vehicle.append(10,11)
TypeError: append() takes exactly one argument (2 given)

4)extend()

列表.extend()方法在列表的末尾追加該方法中參數容器(列表、元組、字符串、字典、集合)中的所有元素。如果參數為字典,則追加字典中的所有鍵(key)

5)insert()

insert()方法,將一個元素插入到列表中的指定位置。列表的insert方法有兩個參數,第一個參數是索引點,即插入的位置,第二個參數是插入的元素。

總結

本篇文章就到這裡瞭,希望能夠給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!

推薦閱讀: