Python學(xué)習(xí)筆記(六)——列表-創(chuàng)新互聯(lián)

列表(list)可以包含任何種類的對(duì)象:數(shù)字、字符串甚至其他列表。列表是可變對(duì)象,支持原處修改,可以通過指定的偏移值和分片、列表方法調(diào)用、刪除語句。

成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站制作、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的華安網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

列表的屬性:

  1. 任意對(duì)象的有序集合:列表可以支持任意對(duì)象,包括其他列表及類型,同時(shí)所包含的每一項(xiàng)都包括了從左往右的位置順序,列表屬于序列。
  2. 通過偏移讀?。嚎梢酝ㄟ^列表對(duì)象的偏移進(jìn)行索引,從而讀取部分內(nèi)容,執(zhí)行分片和合并任務(wù);
  3. 可變長度、異構(gòu)及任意嵌套:列表不是不可變類型,支持長度變化(可變長度),可以包含任意類型對(duì)象(異構(gòu)),列表能夠包含其他復(fù)雜對(duì)象,支持嵌套;
  4. 屬于可變序列:列表支持原處修改,可以響應(yīng)所有針對(duì)字符串序列的操作,例如索引、分片和合并。

列表操作:
Python學(xué)習(xí)筆記(六)——列表

*支持+(合并)和(重復(fù))操作:**

>>> a=[1,2,3,4,5]
>>>
>>> len(a)
5
>>>
>>> [1,2,3]+[4,5]
[1, 2, 3, 4, 5]
>>>
>>> a*4
[1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]

列表迭代與解析:

>>> 3 in [1,2,3]
True
>>>
>>> 3 not in [1,2,3]
False
>>>
>>> for x in a:
...     print(x,end='\n')
...
1
2
3
4
5

列表解析:通過對(duì)序列中的每一項(xiàng)應(yīng)用一個(gè)表達(dá)式來構(gòu)建一個(gè)新的列表的方式。

>>> resu = [d ** d for d in a]
>>>
>>> resu
[1, 4, 27, 256, 3125]
>>>
>>> a = list('Yert')
>>>
>>> re = [g * 4 for g in a]
>>>
>>> re
['YYYY', 'eeee', 'rrrr', 'tttt']

索引、分片和矩陣:

由于列表屬于序列,索引、分片操作與字符串操作基本相同,然而對(duì)列表進(jìn)行索引的結(jié)果是指定的偏移處的對(duì)象(不管什么類型),而對(duì)列表進(jìn)行分片時(shí)返回一個(gè)新的列表。

>>> L = list('Yert')
>>>
>>> L
['Y', 'e', 'r', 't']
>>>
>>> L[2]
'r'
>>> L[2:3]
['r']
>>>
>>> L[-1]
't'
>>> L[1:]
['e', 'r', 't']

列表的嵌套:

>>> matrix = [[1,2,3],[4,5,6],[7,8,9]]
>>>
>>> matrix
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>>
>>> matrix[2]
[7, 8, 9]
>>> matrix[2][1]
8
>>> matrix[1][0]
4

原處修改列表:

列表是屬于可變類型的,支持原處修改列表對(duì)象的操作。修改時(shí)不會(huì)像字符串生成新的對(duì)象。

索引與分片的賦值:
可以將列表賦值給一個(gè)特定項(xiàng)(偏移)或整個(gè)片段(分片)來改變內(nèi)容。

>>> L = ['Python','Yert','Alan','Ye']
>>>
>>> L[1] = 'Sam'
>>>
>>> L
['Python', 'Sam', 'Alan', 'Ye']
>>>
>>> L[0:2] = ['Java','James']
>>>
>>> L
['Java', 'James', 'Alan', 'Ye']

列表常用方法調(diào)用:

>>> L.append('Lank')  #插入對(duì)象
>>>
>>> L
['Java', 'James', 'Alan', 'Ye', 'Lank']
>>>
>>> L.sort()        #對(duì)列表對(duì)象進(jìn)行排序
>>> L
['Alan', 'James', 'Java', 'Lank', 'Ye']

Append方法:

簡單的將一個(gè)單項(xiàng)(對(duì)象引用)添加至列表末端。與合并不相同的是,append允許傳入單一對(duì)象而不是列表。L.append(X) 與L+[X]的結(jié)果類似,前者會(huì)原地修改L,后者會(huì)生成新的列表。

Sort方法:
原地對(duì)列表進(jìn)行排序,使用Python標(biāo)準(zhǔn)的比較檢驗(yàn)作為默認(rèn)值,而且以遞增的順序進(jìn)行排序??梢酝ㄟ^傳入關(guān)鍵字來修改排序行為——指定按名稱傳遞的函數(shù)調(diào)用中特殊的”name=value”語法,給定配置選項(xiàng),在排序中,key參數(shù)給出一個(gè)單個(gè)參數(shù)的函數(shù),返回在排序中使用的值,reverse參數(shù)允許排序按照降序而不是升序進(jìn)行。

>>> L=['Agc','aBe','adC']
>>>
>>> L
['Agc', 'aBe', 'adC']
>>>
>>> L.sort(key=str.lower)
>>>
>>> L
['aBe', 'adC', 'Agc']
>>>
>>> L=['Agc','aBe','adC']
>>>
>>> L.sort(key=str.lower,reverse=True)
>>>
>>> L
['Agc', 'adC', 'aBe']

Sort方法可以作為內(nèi)置方法使用,排序任何對(duì)象(列表之外的對(duì)象),并且針對(duì)結(jié)果返回一個(gè)新的列表(不是原處修改)。

>>> L = ['abc','ABD','aBe']
>>>
>>> L
['abc', 'ABD', 'aBe']
>>>
>>> sorted(L,key=str.lower,reverse=True)
['aBe', 'ABD', 'abc']
>>>
>>> L = ['abc','ABD','aBe']
>>>
>>> sorted([x.lower() for x in L],reverse=True)
['abe', 'abd', 'abc']

Extend方法可以插入對(duì)象,pop方法彈出最后一位對(duì)象,reverse函數(shù)逆序列表。

>>> L = [1,2,3]
>>>
>>> L.extend([4,5,6,7])
>>>
>>> L
[1, 2, 3, 4, 5, 6, 7]
>>>
>>> L.pop()
7
>>>
>>> L
[1, 2, 3, 4, 5, 6]
>>>
>>> L.reverse()
>>>
>>> L
[6, 5, 4, 3, 2, 1]
>>>
>>> list(reversed(L))
[1, 2, 3, 4, 5, 6]

Pop方法接受某一個(gè)即將刪除并返回的元素的偏移(默認(rèn)值為最后一個(gè)元素),這一偏移是可選的。

>>> L = ['a','Alan','d','Yert']
>>>
>>>
>>> help(L.pop)                  #通過help方法可以查看對(duì)象引用方法的說明文檔
Help on built-in function pop:

pop(index=-1, /) method of builtins.list instance
    Remove and return item at index (default last).

    Raises IndexError if list is empty or index is out of range.

>>>
>>> L.pop(2)
'd'
>>>
>>> L
['a', 'Alan', 'Yert']

Remove方法移除某元素:

>>> L.remove('a')
>>>
>>> L
['Alan', 'd', 'Yert']
>>>
>>> L = ['a','Alan','d','Yert','a','a','a']
>>>
>>> L
['a', 'Alan', 'd', 'Yert', 'a', 'a', 'a']
>>>
>>> L.remove('a')
>>>
>>> L
['Alan', 'd', 'Yert', 'a', 'a', 'a']

Insert方法在某處偏移插入元素:

>>> L = ['Yert','dd','rm','Sam']
>>>
>>> L
['Yert', 'dd', 'rm', 'Sam']
>>>
>>> L.insert(2,'Jinja')
>>>
>>> L
['Yert', 'dd', 'Jinja', 'rm', 'Sam']

使用del方法刪除列表的某項(xiàng)和分片:

>>> L
['Yert', 'dd', 'Jinja', 'rm', 'Sam']
>>>
>>> del L[1]
>>>
>>> L
['Yert', 'Jinja', 'rm', 'Sam']
>>>
>>> del L[1:]
>>>
>>> L
['Yert']

由于分片賦值時(shí)刪除外加插入操作,可以通過將空列表賦值給分片來刪除列表片段(L[i:j]=[])。Python會(huì)刪除左側(cè)的分片,然后什么也不插入。

將空列表賦值給一個(gè)索引,只會(huì)在指定的位置存儲(chǔ)空列表的引用,而不是刪除:

>>> L = ['Yert','dd','rm','Sam']
>>>
>>> L[1:] = []
>>>
>>> L
['Yert']

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)頁標(biāo)題:Python學(xué)習(xí)筆記(六)——列表-創(chuàng)新互聯(lián)
鏈接地址:http://muchs.cn/article40/cspdho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、定制網(wǎng)站自適應(yīng)網(wǎng)站、App設(shè)計(jì)做網(wǎng)站、品牌網(wǎng)站建設(shè)

廣告

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

外貿(mào)網(wǎng)站建設(shè)