在實(shí)際開發(fā)中,經(jīng)常需要將一些(不只一個(gè))數(shù)據(jù)暫儲(chǔ)起來,以便將來使用。說到這里,一些讀者可能知道或聽說過數(shù)組,它就可以把多個(gè)數(shù)據(jù)挨個(gè)存儲(chǔ)到一起,通過數(shù)組下標(biāo)可以訪問數(shù)組中的各個(gè)元素。但使用數(shù)組存儲(chǔ)數(shù)據(jù)有一個(gè)弊端,就是所存儲(chǔ)的數(shù)據(jù)必須類型一致。
需要明確的是,Python中沒有數(shù)組,但是加入了更加強(qiáng)大的列表。如果把數(shù)組看做是一個(gè)集裝箱,那么Python的列表就是一個(gè)工廠的倉(cāng)庫(kù)。
從形式上看,列表會(huì)將所有元素都放在一對(duì)中括號(hào)[]中,相鄰元素之間用逗號(hào)分隔,如下所示:
[element1,element2,element3,...,elementn]
格式中,element1~elementn表示列表中的元素,個(gè)數(shù)沒有限制,只要是Python支持的數(shù)據(jù)類型就可以。
從內(nèi)容上看,列表可以存儲(chǔ)整數(shù)、實(shí)數(shù)、字符串、列表、元組等任何類型的數(shù)據(jù),并且和數(shù)組不同的是,在同一個(gè)列表中元素的類型也可以不同。比如說:
["c.biancheng.net",1,[2,3,4],3.0]
可以看到,列表中同時(shí)包含字符串、整數(shù)、列表、浮點(diǎn)數(shù)這些數(shù)據(jù)類型。
注意,在使用列表時(shí),雖然可以將不同類型的數(shù)據(jù)放入到同一個(gè)列表中,但通常情況下不這么做,同一列表中只放入同一類型的數(shù)據(jù),這樣可以提高程序的可讀性。
另外,在其它Python教程中,經(jīng)常用list代指列表,這是因?yàn)榱斜淼臄?shù)據(jù)類型就是list,通過type()函數(shù)就可以知道,例如:
>>>type(["c.biancheng.net",1,[2,3,4],3.0])
《class'list'>
可以看到,它的數(shù)據(jù)類型為list,就表示它是一個(gè)列表。
Python創(chuàng)建列表
在Python中,創(chuàng)建列表的方法可分為2種,下面分別進(jìn)行介紹。
使用=運(yùn)算符直接創(chuàng)建列表
和其他類型的Python變量一樣,創(chuàng)建列表時(shí),也可以使用賦值運(yùn)算符“=”直接將一個(gè)列表賦值給變量,其語(yǔ)法格式如下:
listname=[element1,element2,element3,...,elementn]
其中,listname表示列表的名稱,注意,在命名時(shí)既要符合Python命名規(guī)范,也要盡量避開與Python的內(nèi)置函數(shù)重名。
例如,下面定義的列表都是合法的:
num=[1,2,3,4,5,6,7]
name=["C語(yǔ)言中文網(wǎng)","http://c.biancheng.net"]
program=["C語(yǔ)言","Python","Java"]
另外,使用此方式創(chuàng)建列表時(shí),列表中元素可以有多個(gè),也可以一個(gè)都沒有,例如:
emptylist=[]
這表明,emptylist是一個(gè)空列表。
使用list()函數(shù)創(chuàng)建列表
除使用前面介紹的方括號(hào)語(yǔ)法創(chuàng)建列表之外,Python還提供了一個(gè)內(nèi)置的list()函數(shù)來創(chuàng)建列表,它可用于將元組、區(qū)間(range)等對(duì)象轉(zhuǎn)換為列表,例如:
a_tuple=('crazyit',20,-1.2)
#將元組轉(zhuǎn)換成列表
a_list=list(a_tuple)
print(a_list)
輸出結(jié)果
['crazyit',20,-1.2]
此程序的功能是將一個(gè)元組('crazyit',20,-1.2)轉(zhuǎn)換成列表。由于尚未學(xué)習(xí)元組,因此初學(xué)者只需要知道,用圓括號(hào)()括起來的多個(gè)數(shù)據(jù),就是一個(gè)元組。
以上內(nèi)容為大家介紹了python培訓(xùn)之如何定義列表,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。