列表是一種有序的集合,有點(diǎn)類似c里面的數(shù)組。它的特點(diǎn)是,可以隨時(shí)向里面添加或刪除其中的元素,在python中經(jīng)常用來存放數(shù)據(jù)。列表的特點(diǎn)是中括號(hào),內(nèi)部元素用逗號(hào)隔開。
“只有客戶發(fā)展了,才有我們的生存與發(fā)展!”這是創(chuàng)新互聯(lián)的服務(wù)宗旨!把網(wǎng)站當(dāng)作互聯(lián)網(wǎng)產(chǎn)品,產(chǎn)品思維更注重全局思維、需求分析和迭代思維,在網(wǎng)站建設(shè)中就是為了建設(shè)一個(gè)不僅審美在線,而且實(shí)用性極高的網(wǎng)站。創(chuàng)新互聯(lián)對(duì)成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、網(wǎng)站制作、網(wǎng)站開發(fā)、網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站優(yōu)化、網(wǎng)絡(luò)推廣、探索永無止境。
在這個(gè)列表中,可以放進(jìn)去任何元素,不論你的元素是字符串、整型、浮點(diǎn)型、還是布爾值、空值,包括列表什么的,都可以放進(jìn)去。
元素與元素之間,用逗號(hào)隔開。
列表會(huì)為每個(gè)元素分配序號(hào),這個(gè)序號(hào)代表它的位置,稱為索引(index),第一個(gè)元素的位置是0,第二個(gè)元素是1,以此類推。
使用索引獲取列表中的值時(shí),需要使用中括號(hào)來訪問,在中括號(hào)前面加上列表名,中括號(hào)內(nèi)部是元素的索引。
0代表第一個(gè)元素的位置,1代表第二個(gè),-1代表倒數(shù)第一個(gè),-2代表倒數(shù)第二個(gè)
使用 len() 函數(shù),可以查看列表里面有多少個(gè)元素
在python中,列表的操作是非常的靈活的,我們可以向其中添加或刪除元素。
添加使用 list.append() 函數(shù)
list.append() 函數(shù)是將元素插入到列表的末尾,當(dāng)我們想在特定位置插入元素時(shí)可以使用 list.insert() 函數(shù)
list.insert() 函數(shù)接受兩個(gè)參數(shù),第一個(gè)參數(shù)是插入位置,第二個(gè)參數(shù)是要插入的元素。
需要注意的是,在使用append和insert時(shí),必須在前面注明要操作的列表。就像上面的例子,我們要操作classmates這個(gè)列表,所以必須寫成 classmates.append() 或 classmates.insert() ,如果不這么寫,計(jì)算機(jī)就不知道你要往哪個(gè)列表中加入元素。
沒有特殊情況的話,推薦使用append()函數(shù)添加元素,因?yàn)槭褂胊ppend的時(shí)候,元素默認(rèn)加在列表尾部,不會(huì)造成其他元素索引值的改變。如果使用insert的話,就像上面的insert(1,'Tom'),在位置1插入'Tom'后,Tom后面所有的元素,索引值都加了一個(gè)1,列表中元素越多,受影響的程度越大,因此使用append()函數(shù)要比insert()函數(shù)更快。
刪除列表中元素的方法有三種
del后面需要用索引的方式表明要?jiǎng)h除的元素,也就是上面的例子,names[1]代表names中的第二個(gè)元素,使用del即可刪除
list.pop() 函數(shù)與del差不多,都是使用索引值進(jìn)行刪除,只不過寫法不同。
我們可以發(fā)現(xiàn),執(zhí)行 names.pop(1) 后,python shell打印出了第二個(gè)元素的值,也就是我們要?jiǎng)h除的那個(gè)值,這是因?yàn)?pop() 這個(gè)函數(shù),是有返回值的,有時(shí)候我們需要使用這個(gè)值,這個(gè)時(shí)候就可以用變量存起來。
這樣我們就可以通過調(diào)用a而使用剛才刪掉的元素了。
list.remove() 函數(shù)的作用是刪除第一個(gè)匹配的元素,上面的例子中,names這個(gè)列表里面,有兩個(gè)'Bob',remove函數(shù)只刪除了第一個(gè)'Bob'。這就是 list.remove() 函數(shù)的特點(diǎn)。
有時(shí)候我們想使用列表的前10個(gè)元素,或者前n個(gè)元素,這時(shí)候就應(yīng)該使用列表的切片。
切片和索引類似,都是使用中括號(hào),區(qū)別是,索引中的中括號(hào)里面只有一個(gè)數(shù),而切片不同。切片是切割列表,形成切割下來的部分形成新的列表。
切片: list[start:end:[step=1]] ,這就是切片的表達(dá)式,要求start和end兩者必須有一個(gè),step不是可以不指定,不指定的時(shí)候默認(rèn)為1。
切片該怎么理解呢,start就是開始的位置,end就是結(jié)束的位置。切片有個(gè)特點(diǎn)是“取前不取后”,看上面那個(gè)例子可以發(fā)現(xiàn),1作為start,3作為end,1代表第二個(gè)元素,3代表第四個(gè)元素,列表切片的時(shí)候,是不取后面的那個(gè)數(shù)字對(duì)應(yīng)的元素的,也就是不取第四個(gè)元素,所以names[1:3]只取了第二個(gè)元素和第三個(gè)元素,這就是所謂的取前不取后。
再看下一個(gè)例子。
當(dāng)不指定start或者end的時(shí)候,start默認(rèn)為0,end默認(rèn)為最后一個(gè)元素的索引值+1,因?yàn)椤叭∏安蝗『蟆?,要想取到最后一個(gè)元素,必須加個(gè)1才行。
上例中,用 len(numbers) 表示了最后一個(gè)元素的索引值,因?yàn)樗饕祻?開始,最后一個(gè)元素的索引值一定是列表內(nèi)元素個(gè)數(shù)-1,根據(jù)“取前不取后”,在end位置上的數(shù)字應(yīng)該+1,所以最后就等于 len(numbers) 了。
當(dāng)不設(shè)定start和end的時(shí)候,就默認(rèn)取所有的元素了。
當(dāng)加入step,這個(gè)選項(xiàng)后,step代表步長(zhǎng),默認(rèn)為1,設(shè)定成2的時(shí)候,就是隔一個(gè)取一個(gè),設(shè)定成3時(shí)就是隔兩個(gè)取一個(gè)。
上例中,第一個(gè)切片,start和end均未設(shè)定,因此從第一個(gè)元素開始,隔一個(gè)取一個(gè),得到了所有奇數(shù)位置的元素。
第二個(gè)切片,start設(shè)定為了1,因此取了所有偶數(shù)位置的元素。
3在列表中,0不在列表中,所以 3 in a 是True,而 0 in a 是False
更多關(guān)于列表的信息可以通過使用 help(list) 查看幫助文檔。
轉(zhuǎn)自
Python? range() 函數(shù)返回的是一個(gè)可迭代對(duì)象(類型是對(duì)象),而不是列表類型, 所以打印的時(shí)候不會(huì)打印列表。
函數(shù)語(yǔ)法:
range(stop)range(start,stop,step)//默認(rèn)start為0,step為1
Python? list() 函數(shù)是對(duì)象迭代器,可以把range()返回的可迭代對(duì)象轉(zhuǎn)為一個(gè)列表,返回的變量類型為列表。
list() 方法用于將元組轉(zhuǎn)換為列表。
注: 元組與列表是非常類似的,區(qū)別在于元組的元素值不能修改,元組是放在括號(hào)中( ),列表是放于方括號(hào)中[ ]。
元組中只包含一個(gè)元素時(shí),需要在元素后面添加逗號(hào)
tup1=(50,)
list、元組與字符串的索引一樣,列表索引從0開始。列表可以進(jìn)行截取、組合等。
定義列表有兩個(gè)辦法。
1.使用特征符[],比如[1,2,3],這就定義了一個(gè)列表
2.使用工廠函數(shù)list,比如list(1,2,3)也定義了一個(gè)列表
你說的函數(shù)是自定義函數(shù)還是使用內(nèi)置函數(shù)?
使用內(nèi)置函數(shù)那就是使用工廠函數(shù)(有點(diǎn)小特殊的內(nèi)置函數(shù))list()就行。
如果自定義函數(shù)里定義列表就上面兩個(gè)方法隨意用了
網(wǎng)站欄目:python列表函數(shù)方法 python中列表的函數(shù)
URL鏈接:http://m.rwnh.cn/article40/doopgho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站內(nèi)鏈、網(wǎng)站營(yíng)銷、Google、營(yíng)銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)