python:列表詳解
列表list
1、列表創(chuàng)建
list1 = [3.14, 1.61, 0, -9, 6] list2 = [‘train', ‘bus', ‘car', ‘ship'] list3 = [‘a(chǎn)',200,‘b',150, ‘c',100] list4 = [] #創(chuàng)建空列表
在Python中,經(jīng)常用到列表中的列表,即二維列表
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和結(jié)束值end作為切片的開始和結(jié)束索引邊界。
開始值start索引位置上的元素是包含在切片內(nèi)的,結(jié)束值end索引位置上的元素則不包括在切片內(nèi);
當切片的左索引start為0時可缺省,當右索引end為列表長度時也可缺省。
這個簡單的切片操作從原列表中選取索引位于[start, end)區(qū)間內(nèi)的元素組成新的列表。
2.切片操作也可以提供一個非零整數(shù)(即可正可負,但不能為0)作為索引值增長的步長step值。使用方式為:
原列表名[start : end : step]
- 當步長為1時,step參數(shù)可以省略。
- 步長step為1時可以省略,當步長step不為1時,該參數(shù)不可省略。
- 切片操作適用于所有序列類型。
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()方法均能實現(xiàn)列表元素的刪除
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'] #復(fù)合賦值語句 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 #復(fù)合賦值語句 vehicle [‘train', ‘bus', ‘train', ‘bus', ‘train', ‘bus', ‘train', ‘bus']
7、列表方法
列表中的方法可看作是作用于Python中列表這一特定類型對象的函數(shù)。
1) index(value[,start=0[,stop]])
index()方法用于從列表中找出與value值匹配的第一個元素索引位置。
如果沒有指定參數(shù)start的值,則從索引為0的位置開始查找,否則從索引為strat的位置開始查找。
如果沒有指定結(jié)束索引位置stop的值,可以查找到列表最后元素,否則在位于[start, stop)內(nèi)的索引區(qū)間查找。
如果找不到匹配項,就會引發(fā)異常。
vehicle = [‘train', ‘bus', ‘car', ‘subway', ‘ship', ‘bicycle', ‘car'] vehicle.index(‘car') #整個列表范圍內(nèi)'car'第1次出現(xiàn)的索引位置是2 2
vehicle.index(‘plane') #整個列表范圍內(nèi)沒有'plane' Traceback (most recent call last): File “<pyshell#81>”, line 1, in vehicle.index(‘plane') ValueError: ‘plane' is not in list
vehicle.index(‘plane') #整個列表范圍內(nèi)沒有'plane' Traceback (most recent call last): File “<pyshell#81>”, line 1, in vehicle.index(‘plane') ValueError: ‘plane' is not in list
vehicle.index(‘plane') #整個列表范圍內(nèi)沒有'plane' Traceback (most recent call last): File “<pyshell#81>”, line 1, in vehicle.index(‘plane') ValueError: ‘plane' is not in list
2) count()
count()方法,用于統(tǒng)計某個元素在列表中出現(xiàn)的次數(shù)。
vehicle = [‘train', ‘bus', ‘car', ‘subway', ‘ship', ‘bicycle', ‘car'] vehicle.count(‘car') 2
vehicle.count(‘bus') 1
vehicle.count(‘bike') 0
3)append()
append()方法,追加單個元素到列表的尾部,只接受一個元素,元素可以是任何數(shù)據(jù)類型,被追加的元素在列表中保持著原結(jié)構(gòu)類型。
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()方法在列表的末尾追加該方法中參數(shù)容器(列表、元組、字符串、字典、集合)中的所有元素。如果參數(shù)為字典,則追加字典中的所有鍵(key)
5)insert()
insert()方法,將一個元素插入到列表中的指定位置。列表的insert方法有兩個參數(shù),第一個參數(shù)是索引點,即插入的位置,第二個參數(shù)是插入的元素。
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
python函數(shù)map()和partial()的知識點總結(jié)
在本篇文章里小編給大家分享了關(guān)于python函數(shù)map()和partial()的知識點總結(jié),需要的朋友們可以參考下。2020-05-05基于Python實現(xiàn)隨機點名系統(tǒng)的示例代碼
在某些難以抉擇得時候,我們經(jīng)常要用外力來幫助我們做出選擇,比如,梁山出征方臘前沙場點兵,挑選先鋒的場景。所以本文就來用Python做個隨機點名系統(tǒng)吧,需要的可以參考一下2023-04-04Python內(nèi)置函數(shù)locals和globals對比
這篇文章主要介紹了Python內(nèi)置函數(shù)locals和globals對比,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-04-04scrapy自定義pipeline類實現(xiàn)將采集數(shù)據(jù)保存到mongodb的方法
這篇文章主要介紹了scrapy自定義pipeline類實現(xiàn)將采集數(shù)據(jù)保存到mongodb的方法,涉及scrapy采集及操作mongodb數(shù)據(jù)庫的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-04-04Python機器學(xué)習(xí)庫sklearn(scikit-learn)的基礎(chǔ)知識和高級用法
Scikit-Learn是 Python 最流行的機器學(xué)習(xí)庫之一,它提供了各種工具來實現(xiàn)、評估和探索各種學(xué)習(xí)算法,用于,各種機器學(xué)習(xí)任務(wù),在本教程中,我們將介紹 Scikit-Learn 的基礎(chǔ)知識和一些高級用法,并提供一些實例代碼來幫助我們更好地理解2023-07-07Python 3.6 性能測試框架Locust安裝及使用方法(詳解)
下面小編就為大家?guī)硪黄狿ython 3.6 性能測試框架Locust安裝及使用方法(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10Python實現(xiàn)C#代碼生成器應(yīng)用服務(wù)于Unity示例解析
為了滿足項目需要,需要實現(xiàn)一個c#代碼生成器,為此設(shè)計了一個語法模板適用于Unity的代碼生成器。本次使用了Python的Template模板,使用python開發(fā)2021-10-10