python中的有序列表是哪些-創(chuàng)新互聯(lián)

這篇文章將為大家詳細講解有關python中的有序列表是哪些,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

成都創(chuàng)新互聯(lián)公司企業(yè)建站,10余年網(wǎng)站建設經(jīng)驗,專注于網(wǎng)站建設技術,精于網(wǎng)頁設計,有多年建站和網(wǎng)站代運營經(jīng)驗,設計師為客戶打造網(wǎng)絡企業(yè)風格,提供周到的建站售前咨詢和貼心的售后服務。對于成都網(wǎng)站制作、成都網(wǎng)站建設中不同領域進行深入了解和探索,創(chuàng)新互聯(lián)在網(wǎng)站建設中充分了解客戶行業(yè)的需求,以靈動的思維在網(wǎng)頁中充分展現(xiàn),通過對客戶行業(yè)精準市場調(diào)研,為客戶提供的解決方案。

列表、元組、字符串是python的有序序列;其中列表是可變對象,元組和字符串則是不可變對象。序列中的每個元素都分配一個數(shù)字,即它的位置,或索引,第一個索引是0,第二個索引是1,依此類推。

python中的有序列表是哪些

序列是Python中最基本的數(shù)據(jù)結構。序列中的每個元素都分配一個數(shù)字 - 它的位置,或索引,第一個索引是0,第二個索引是1,依此類推。

序列都可以進行的操作包括索引,切片,加,乘,檢查成員。此外,Python已經(jīng)內(nèi)置確定序列的長度以及確定大和最小的元素的方法。

列表、元組、字符串是python的有序序列;其中列表是個可變對象,元組和字符串則是不可變對象。

列表(list)

列表是包含0個或多個對象引用的有序序列,支持與字符串以及元組一樣的分片與步距語法。與字符串以及元組不同的是,列表是可變的,因此,我們可以對列表中的項機芯刪除或替換,插入、替換或刪除列表中的分片。

list數(shù)據(jù)類型可以作為函數(shù)進行調(diào)用,list()--不帶參數(shù)進行調(diào)用是將返回一個空列表;帶一個list參數(shù)時,返回該參數(shù)的淺拷貝;對任意其他參數(shù),則嘗試將給定的對象轉(zhuǎn)換為列表。該函數(shù)值接受一個參數(shù)的情況。列表也可以不使用list()函數(shù)創(chuàng)建,空列表可以使用空的方括號來創(chuàng)建,包含一個或多個項的列表則可以使用逗號分隔的數(shù)據(jù)項(包含在[]中)序列來創(chuàng)建。

列表提供的方法:

python中的有序列表是哪些

任意可迭代的(列表、元組等)數(shù)據(jù)類型都可以使用序列拆分操作符進行拆分,即:* 。用于賦值操作符左邊的兩個或多個變量時,其中的一個使用*進行引導,數(shù)據(jù)項將賦值給該變量,而所有剩下的數(shù)據(jù)項將賦值給帶星號的變量,下面給出一些實例:

python中的有序列表是哪些

以這種方式使用序列拆分操作符時,表達式*rest以及類似的表達式稱為帶星號的表達式。

python還有一個相關的概念:帶星號的參數(shù)。

python中的有序列表是哪些

對列表中的數(shù)據(jù)項,科研在其上進行迭代處理,使用的語法格式是 for item in L:。如果需要改列表中的數(shù)據(jù)項,那么使用的慣用方法如下:

for i in range(len(L)):
L[i] = process(L[i])

由于列表支持分片,因此在幾種情況下,使用分片或某種列表方法可以完成同樣的功能,如:給定列表woods=['Cedar','Yew','Fir'],我們可以以如下的兩種方式擴展列表:

woods+=['Kauri','Larch']    | woods.extend(['Kauri','Larch'])

對上面兩種方法,所得結果都是列表['Cedar','Yew','Fir','Kauri','Larch']。

使用list.append()方法,可以將單個數(shù)據(jù)項添加到列表尾部。使用list.insert()方法(或者賦值給一個長度為0的分片),可以將數(shù)據(jù)項插入到列表內(nèi)的任何索引位置。比如,給定列表woods=['Cedar','Yew','Fir','Spruce'],我們可以在索引位置2處插入一個新的數(shù)據(jù)項(也就是作為該列表的第三項),下面兩種方法均可以實現(xiàn):

woods[2:2] = ['Pine'] |  woods.insert(2,'Pine')

上面兩種方法所得的結果都是列表['Cedar','Yew','Pine','Fir','Spruce'].

通過對特定索引位置處的對象進行賦值,可以對列表中的單個數(shù)據(jù)項進行替換,比如,woods[2]='Redwood'。通過將iterable賦值給分片,可以替換整個分片,比如,woods[1:3]=['Spruce','Sugi','Rimu'],并且分片月iterable并不必須是等長的。在所有這些情況下,都會刪除分片的數(shù)據(jù)項,并插入iterable的數(shù)據(jù)項。如果iterable包含的項數(shù)比要替代的分片包含的項數(shù)少,那么這一操作會使類別變短;反之,則使得列表變成。如下例子:

python中的有序列表是哪些

對于復雜的列表,可以使用for...in 循環(huán)創(chuàng)建,如,假定需要生成給定時間范圍內(nèi)的閏年列表,可以使用如下語句:

 leaps = []
 for year in range(1900,1940):
  if (year%4 == 0 and year %100 !=0) or (year % 400 ==0):
    leaps.append(year)

兩種表達式:

expression for item in iterable
    expression for item in  iterable if condition

元組(tuple)

元組是個有序的序列,其中包含0個或多個對象引用。元組支持與字符串一樣的分片與步距的語法,這使得從元組中提取數(shù)據(jù)項比較容易。元組也是固定的,不能替換或刪除其中包含的任意數(shù)據(jù)項。如果需要修改有序序列,我們應該使用類別而非元組。如果要對元組進行修改,可以使用list()轉(zhuǎn)換函數(shù)將其轉(zhuǎn)換為列表,之后在產(chǎn)生的列表之上進行適當修改。

tuple數(shù)據(jù)類型可以作為一個函數(shù)進行調(diào)用,tuple()---不指定參數(shù)時將返回一個空元組,使用tuple作為參數(shù)時將返回該參數(shù)的淺拷貝,對其他任意參數(shù),將嘗試把給定的對象轉(zhuǎn)換為tuple類型。該函數(shù)最多只能接受一個參數(shù)。元組也可以使用tuple()函數(shù)創(chuàng)建,空元組是使用空圓括號()創(chuàng)建的,包含一個或多個項的元組則可以使用逗號分隔進行創(chuàng)建。

元組只提供了兩種方法:t.count(x),返回對象x在元組中出現(xiàn)的次數(shù);t.index(x),返回對象在元組t中出現(xiàn)的最左邊位置。

元組可以使用操作符+(連接)、*(賦值)與 [](分片),要可以使用in 與not in 來測試成員關系。

下面給出幾個分片實例:

python中的有序列表是哪些

上面這些處理過程對字符串、列表以及人員其他序列類型都是一樣的

python中的有序列表是哪些

要構成一個億元組,逗號是必須的,這里red字符串地方我們必須同時使用逗號與圓括號。

1.1 命名的元組

命名的元組與普通元組一樣,有相同的表現(xiàn)特征,其添加的功能就是可以根據(jù)名稱引用元組中的項,就像根據(jù)索引位置一樣,這一功能使我們可以創(chuàng)建數(shù)據(jù)項的聚集。

collections 模塊提供了 namedtuple()函數(shù),該函數(shù)用于創(chuàng)建自定義的元組數(shù)據(jù)類型,例如:

python中的有序列表是哪些

collections.namedtuple()的第一個參數(shù)是想要創(chuàng)建的自定義元組數(shù)據(jù)類型的名稱,第二個參數(shù)是一個字符串,其中包含使用空格分割的名稱,每個名稱代表該元組數(shù)據(jù)類型的一項。該函數(shù)返回一個自定義的類(數(shù)據(jù)類型),用于創(chuàng)建命名的元組。因此,這一情況下,我們將sale與任何其他python類一樣看待,并創(chuàng)建類型為sale的對象,如:

python中的有序列表是哪些

這里我們廠家了包含兩個sale項的列表,也就是包含兩個自定義元組。我們也可以使用索引位置來引用元組中的項----比如,第一個銷售項的價格為sales[0][-1],但我們呢也可以使用名稱進行引用,這樣會更加清晰:

python中的有序列表是哪些

命名的元組提供的清晰與便利通常都是有用的,比如,下面另一個例子:

python中的有序列表是哪些

私有方法namedtuple._asdict()返回的是鍵-值對的映射,其中每個鍵都是元組元素的名稱,值則是對應的值,我們使用映射拆分將映射轉(zhuǎn)換為str.format()方法的鍵-值參數(shù)。

“{manufacturer} {model}”.format(**aircraft._asdict())

字符串

str,字符串在python中是有序序列,這意味著字符串在python中可以做很多操作,比如slice。不過有一點是字符串中某部分無法進行修改,因為是不可變對象。

字符串經(jīng)常碰到的一個問題就是怎么把 字符串倒序輸出。

這時候我們就可以把slice用到字符串中,編寫一個倒序輸出的函數(shù)如下:

def reverse(x):
    if not isinstance(x,basestring):
       raise TypeError ("bad type");
    else:
        return x[::-1]

isinstance是用來判斷參數(shù)是否是字符串,如果不是的話將會報錯。

basestring是str和unicode的父類,可以用來分辨是不是字符串的類型。

關于python中的有序列表是哪些就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

網(wǎng)站欄目:python中的有序列表是哪些-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://bm7419.com/article32/igjsc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、域名注冊網(wǎng)站營銷、全網(wǎng)營銷推廣、做網(wǎng)站服務器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應式網(wǎng)站建設