>>dir(list)。help():內(nèi)置函數(shù),用來(lái)查詢具體的說(shuō)明文檔,比如>>>help(int)。在上一篇的Python3的基本數(shù)據(jù)類型中,我們初步了解了list列表,也介紹了列表是Python中使用最頻" />

欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Python3基礎(chǔ)之list列表實(shí)例解析

系統(tǒng) 1612 0

通常來(lái)說(shuō)Python中任何值都是一個(gè)對(duì)象,因此任何類型(int、str、list…)都是一個(gè)類。而類就必然有它的方法或?qū)傩裕覀円浵逻@么多類的所有方法顯然是不可能的,對(duì)此本文介紹兩個(gè)小技巧:

dir() :內(nèi)置函數(shù),用來(lái)查詢一個(gè)類或者對(duì)象所有屬性,比如>>> dir(list)。

help() :內(nèi)置函數(shù),用來(lái)查詢具體的說(shuō)明文檔,比如>>> help(int)。

在上一篇的Python3的基本數(shù)據(jù)類型中,我們初步了解了list列表,也介紹了列表是Python 中使用最頻繁的數(shù)據(jù)類型。本文將進(jìn)一步深入學(xué)習(xí)列表的使用。

一、列表的方法:

list.append(x)
在列表的尾部添加一個(gè)項(xiàng),等價(jià)于 a[len(a):] = [x]。

list.extend(L)
將給定的列表L接到當(dāng)前列表后面,等價(jià)于 a[len(a):] = L。

list.insert(i, x)
在給定的位置 i 前插入項(xiàng),例如:a.insert(0, x) 會(huì)在列表的頭部插入,而 a.insert(len(a), x) 則等價(jià)于 a.append(x)。

list.remove(x)
移除列表中第一個(gè)值為 x 的項(xiàng),沒(méi)有的話會(huì)產(chǎn)生一個(gè)錯(cuò)誤。

list.pop([i])
刪除列表給定位置的項(xiàng),并返回它。如果沒(méi)指定索引,a.pop()移除并返回列表最后一項(xiàng)。(方括號(hào)表示可選)

list.clear()
刪除列表中的所有項(xiàng),相當(dāng)于 del a[:]。

list.index(x)
返回列表中第一個(gè)值為 x 的項(xiàng)的索引。如果沒(méi)有匹配的項(xiàng), 則產(chǎn)生一個(gè)錯(cuò)誤。

list.count(x)
返回列表中 x 出現(xiàn)的次數(shù)。

list.sort()
就地完成列表排序。

list.reverse()
就地完成列表項(xiàng)的翻轉(zhuǎn)。

list.copy()
返回列表的一個(gè)淺拷貝,相當(dāng)于a[:]。

二、列表當(dāng)棧

List的方法使得其可以很方便地作為一個(gè)棧來(lái)使用。我們知道,棧的特點(diǎn)是最后進(jìn)入的元素最先出來(lái)(即后入先出),用append()方法進(jìn)行壓棧,用不指定索引的pop()方法進(jìn)行出棧。

示例代碼如下:

            
stack = []
for x in range(1,6):
 stack.append(x)  # 入棧
 print('push', x, end=' ')
 print(stack)

print('Now stack is', stack)

while len(stack)>0:
 print('pop', stack.pop(), end=' ') # 出棧
 print(stack)


          

三、列表當(dāng)隊(duì)列

列表還可以當(dāng)作隊(duì)列來(lái)使用,隊(duì)列的特性是第一個(gè)加入的元素第一個(gè)取出來(lái)(即先入先出)。然而,把列表當(dāng)隊(duì)列使用效率并不高,因?yàn)閺牧斜淼奈膊刻砑雍蛷棾鲈厥呛芸斓模诹斜淼拈_(kāi)頭插入或彈出是比較慢的(因?yàn)樗性囟嫉靡苿?dòng)一個(gè)位置)。
要實(shí)現(xiàn)一個(gè)隊(duì)列, 使用標(biāo)準(zhǔn)庫(kù)的collections.deque, 它被設(shè)計(jì)成在兩端添加和彈出都很快。

示例代碼如下:

            
from collections import deque
queue = deque()    # 創(chuàng)建空隊(duì)列
for x in range(1,6):
 queue.append(x)  # 入隊(duì)
 print('push', x, end=' ')
 print(list(queue))

print('Now queue is', list(queue))

while len(queue)>0:
 print('pop', queue.popleft(), end=' ') # 出隊(duì)
 print(list(queue))


          

四、列表推導(dǎo)式

列表推導(dǎo)式提供了從序列創(chuàng)建列表的簡(jiǎn)單途徑。通常程序會(huì)對(duì)序列的每一個(gè)元素做些操作,并以其結(jié)果作為新列表的元素,或者根據(jù)指定的條件來(lái)創(chuàng)建子序列。

列表推導(dǎo)式的結(jié)構(gòu)是:在一個(gè)方括號(hào)里,首先是一個(gè)表達(dá)式,隨后是一個(gè) for 子句,然后是零個(gè)或更多的 for 或 if 子句。返回結(jié)果是一個(gè)根據(jù)表達(dá)從其后的 for 和 if 上下文環(huán)境中生成出來(lái)的列表。

示例代碼如下:

            
squares = [x**2 for x in range(10)] # 推導(dǎo)式
print(squares)
# 輸出是[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
pairs = [(x, y) for x in [1,2,3] for y in [3,1,4] if x!=y] # 推導(dǎo)式
print(pairs)
# 輸出是[(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)]


          

五、列表嵌套

Python中并沒(méi)有二維數(shù)組的概念,但我們可以通過(guò)列表嵌套達(dá)到同樣的目的。

            
mat = [
   [1, 2, 3],
   [4, 5, 6],
   [7, 8, 9]
   ]


          

同樣,我們可以使用推導(dǎo)式生成嵌套的列表:

            
mat = [[1,2,3], [4,5,6], [7,8,9]]
new_mat = [ [row[i] for row in mat] for i in [0,1,2] ] # 嵌套
print(new_mat)
# 輸出[[1, 4, 7], [2, 5, 8], [3, 6, 9]]


          

附:del語(yǔ)句

del語(yǔ)句可以通過(guò)給定索引(而不是值)來(lái)刪除列表中的項(xiàng),它與返回一個(gè)值的pop()方法不同。del語(yǔ)句也可以移除列表中的切片,或者清除整個(gè)列表 :

            
lst = [1,2,3,4,5,6,7,8,9]
del lst[2]  # 刪除指定索引項(xiàng)
print(lst)  
del lst[2:5] # 刪除切片
print(lst)
del lst[:]  # 刪除整個(gè)列表
print(lst)
del也可以用于刪除變量實(shí)體:
del lst


          

在刪除變量實(shí)體之后引用 lst 的話會(huì)產(chǎn)生錯(cuò)誤。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 中文字幕亚洲欧美日韩在线不卡 | 精品一区二区三区三区 | 一级特黄欧美 | 一级片a | 亚洲一区影院 | 日本一区视频 | 日本不卡视频在线观看 | 久久国产亚洲欧美日韩精品 | 欧美一级做a爰片久毛片潮 日本久久视频 | 一级黄色欧美 | 懂色中文一区二区三区在线视频 | 国变精品美女久久久久av爽 | 日韩极品视频 | 国产成人精品在线 | 男人午夜免费视频 | 性色av免费在线观看 | 排球少年第四季 | 露娜同人18av黄漫网站 | 国产亚洲欧美日本一二三本道 | 成人黄色网址 | 一级毛片免费视频 | 天天做天天爱天天大综合 | 精品久| 北岛玲亚洲一区在线观看 | 亚洲欧洲精品成人久久曰影片 | 成人高清在线观看 | 亚洲综合在线另类色区奇米 | 欧美激情在线精品一区二区 | 三级免费黄色片 | 亚洲网站一区 | 久久99国产精品成人欧美 | 成人18免费视频 | 成人在线视频免费观看 | 欧美成人伊人久久综合网 | 国内精品久久久久久2021浪潮 | 国产福利资源在线 | 国产一区二区视频在线播放 | 香蕉视频在线播放 | 色精品| www.精品| 欧美精品3atv一区二区三区 |