Python中列表常見(jiàn)的方法有哪些?
創(chuàng)新互聯(lián)公司專注于鄂托克網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供鄂托克營(yíng)銷型網(wǎng)站建設(shè),鄂托克網(wǎng)站制作、鄂托克網(wǎng)頁(yè)設(shè)計(jì)、鄂托克網(wǎng)站官網(wǎng)定制、成都小程序開(kāi)發(fā)服務(wù),打造鄂托克網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供鄂托克網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
Python列表定義:按特定順序排列的元素組成。在Python中,用方括號(hào)[]來(lái)表示列表,并用逗號(hào)來(lái)分隔其中的元素。Python列表是編程中很常見(jiàn)的數(shù)據(jù)類型 。
列表是一種可修改的集合類型,其元素可以是數(shù)字、string等基本類型,也可以是列表、元組、字典等集合對(duì)象,甚至可以是自定義的類型。其定義方式如下: nums = [1,2,3,4] type(nums) print nums[1, 2, 3, 4] strs = ["hello","world"] print strs['hello', 'world'] lst = [1,"hello",False,nums,strs] type(lst) print lst[1, 'hello', False, [1, 2, 3, 4], ['hello', 'world']]
下面我們來(lái)看一下列表中有哪些常見(jiàn)的方法:count():統(tǒng)計(jì)某個(gè)元素在列表中出現(xiàn)的次數(shù)。index():從列表中找出某個(gè)值第一個(gè)匹配項(xiàng)的索引位置。append():在列表末尾添加新對(duì)象。extend():在列表末尾一次性追加另一個(gè)序列的多個(gè)值。insert():在列表的指定位置插入對(duì)象。pop():移除列表中的一個(gè)元素(默認(rèn)最后一個(gè)元素),并且返回該元素的值。remove():移除列表中某個(gè)值的第一個(gè)匹配項(xiàng)。reverse():將列表中的元素反向,不重新拷貝一個(gè)列表。reversed():將列表中的元素反向,重新拷貝一個(gè)列表。sort():將列表中的元素排序,不重新拷貝一個(gè)列表。sortd():將列表中的元素排序,重新拷貝一個(gè)列表。copy():淺拷貝,只是給原來(lái)的列表貼上了一個(gè)新標(biāo)簽,對(duì)于一個(gè)復(fù)雜對(duì)象的子對(duì)象并不會(huì)完全復(fù)制,如果有子列表,改變?cè)瓉?lái)的值,新的拷貝對(duì)象也會(huì)改變。deepcopy():深拷貝,將復(fù)雜對(duì)象的每一層復(fù)制一個(gè)單獨(dú)的個(gè)體出來(lái)。就是完全拷貝。常見(jiàn)內(nèi)置函數(shù):max()、min()、sum()、len()、all()、any()、zip()、enumerate()由于文章篇幅有限,具體的代碼,推薦大家看這篇文章:
列表是一種有序的集合,有點(diǎn)類似c里面的數(shù)組。它的特點(diǎn)是,可以隨時(shí)向里面添加或刪除其中的元素,在python中經(jīng)常用來(lái)存放數(shù)據(jù)。列表的特點(diǎn)是中括號(hào),內(nèi)部元素用逗號(hào)隔開(kāi)。
在這個(gè)列表中,可以放進(jìn)去任何元素,不論你的元素是字符串、整型、浮點(diǎn)型、還是布爾值、空值,包括列表什么的,都可以放進(jìn)去。
元素與元素之間,用逗號(hào)隔開(kāi)。
列表會(huì)為每個(gè)元素分配序號(hào),這個(gè)序號(hào)代表它的位置,稱為索引(index),第一個(gè)元素的位置是0,第二個(gè)元素是1,以此類推。
使用索引獲取列表中的值時(shí),需要使用中括號(hào)來(lái)訪問(wèn),在中括號(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è)列表中加入元素。
沒(méi)有特殊情況的話,推薦使用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)行刪除,只不過(guò)寫法不同。
我們可以發(fā)現(xiàn),執(zhí)行 names.pop(1) 后,python shell打印出了第二個(gè)元素的值,也就是我們要?jiǎng)h除的那個(gè)值,這是因?yàn)?pop() 這個(gè)函數(shù),是有返回值的,有時(shí)候我們需要使用這個(gè)值,這個(gè)時(shí)候就可以用變量存起來(lái)。
這樣我們就可以通過(guò)調(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ù),而切片不同。切片是切割列表,形成切割下來(lái)的部分形成新的列表。
切片: list[start:end:[step=1]] ,這就是切片的表達(dá)式,要求start和end兩者必須有一個(gè),step不是可以不指定,不指定的時(shí)候默認(rèn)為1。
切片該怎么理解呢,start就是開(kāi)始的位置,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)樗饕祻?開(kāi)始,最后一個(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è)元素開(kāi)始,隔一個(gè)取一個(gè),得到了所有奇數(shù)位置的元素。
第二個(gè)切片,start設(shè)定為了1,因此取了所有偶數(shù)位置的元素。
3在列表中,0不在列表中,所以 3 in a 是True,而 0 in a 是False
更多關(guān)于列表的信息可以通過(guò)使用 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開(kāi)始。列表可以進(jìn)行截取、組合等。