最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2014年08月13日 17:25:20   投稿:shichen2014  
這篇文章主要介紹了Python3的list列表用法,這是Python3數(shù)據(jù)類型中非常常見的應(yīng)用,需要的朋友可以參考下

通常來說Python中任何值都是一個對象,因此任何類型(int、str、list…)都是一個類。而類就必然有它的方法或?qū)傩?,我們要記下這么多類的所有方法顯然是不可能的,對此本文介紹兩個小技巧:

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

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

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

一、列表的方法:

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

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

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

list.remove(x)
移除列表中第一個值為 x 的項,沒有的話會產(chǎn)生一個錯誤。

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

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

list.index(x)
返回列表中第一個值為 x 的項的索引。如果沒有匹配的項, 則產(chǎn)生一個錯誤。

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

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

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

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

二、列表當(dāng)棧

List的方法使得其可以很方便地作為一個棧來使用。我們知道,棧的特點是最后進(jìn)入的元素最先出來(即后入先出),用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)隊列

列表還可以當(dāng)作隊列來使用,隊列的特性是第一個加入的元素第一個取出來(即先入先出)。然而,把列表當(dāng)隊列使用效率并不高,因為從列表的尾部添加和彈出元素是很快的,而在列表的開頭插入或彈出是比較慢的(因為所有元素都得移動一個位置)。
要實現(xiàn)一個隊列, 使用標(biāo)準(zhǔn)庫的collections.deque, 它被設(shè)計成在兩端添加和彈出都很快。

示例代碼如下:

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

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

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

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

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

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

示例代碼如下:

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中并沒有二維數(shù)組的概念,但我們可以通過列表嵌套達(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語句

del語句可以通過給定索引(而不是值)來刪除列表中的項,它與返回一個值的pop()方法不同。del語句也可以移除列表中的切片,或者清除整個列表 :

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

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

相關(guān)文章

  • 寫了個監(jiān)控nginx進(jìn)程的Python腳本

    寫了個監(jiān)控nginx進(jìn)程的Python腳本

    接上一文用iptables讓SSH服務(wù)對陌生人說不。還是有點擔(dān)心這個學(xué)期內(nèi),nginx可能會因為系統(tǒng)各種原因而出現(xiàn)異常退出,導(dǎo)致Web服務(wù)暫停。所以,又來了一個方案
    2012-05-05
  • Matlab常用的輸出命令disp與fprintf解讀

    Matlab常用的輸出命令disp與fprintf解讀

    這篇文章主要介紹了Matlab常用的輸出命令disp與fprintf解讀,具有很好的參考價值,希望對大家有所幫助。
    2022-12-12
  • Python functools模塊學(xué)習(xí)總結(jié)

    Python functools模塊學(xué)習(xí)總結(jié)

    這篇文章主要介紹了Python functools模塊學(xué)習(xí)總結(jié),本文講解了functools.partial、functool.update_wrapper、functool.wraps、functools.reduce、functools.cmp_to_key、functools.total_ordering等方法的使用實例,需要的朋友可以參考下
    2015-05-05
  • Python輕松管理與操作文件的技巧分享

    Python輕松管理與操作文件的技巧分享

    在日常開發(fā)中,我們經(jīng)常會遇到需要對文件進(jìn)行操作的場景,如讀寫文件、文件夾操作等。本文將為大家介紹一些 Python 中處理文件的實用技巧,讓你的工作更高效
    2023-05-05
  • python多線程并發(fā)讓兩個LED同時亮的方法

    python多線程并發(fā)讓兩個LED同時亮的方法

    今天小編就為大家分享一篇python多線程并發(fā)讓兩個LED同時亮的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • python爬蟲爬取圖片的簡單代碼

    python爬蟲爬取圖片的簡單代碼

    在本篇文章里小編給大家整理的是一篇關(guān)于python爬蟲爬取圖片的簡單代碼內(nèi)容,有興趣的朋友們可以測試下。
    2021-01-01
  • Python+django實現(xiàn)文件下載

    Python+django實現(xiàn)文件下載

    本文是python+django系列的第二篇文章,主要是講述是先文件下載的方法和代碼,有需要的小伙伴可以參考下。
    2016-01-01
  • Python format補(bǔ)0的實現(xiàn)方法

    Python format補(bǔ)0的實現(xiàn)方法

    對于一些數(shù)字的處理,我們可能需要讓它們滿足一定格式的要求,本文主要介紹了Python format補(bǔ)0的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • 用ldap作為django后端用戶登錄驗證的實現(xiàn)

    用ldap作為django后端用戶登錄驗證的實現(xiàn)

    這篇文章主要介紹了用ldap作為django后端用戶登錄驗證的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Python常用庫Numpy進(jìn)行矩陣運算詳解

    Python常用庫Numpy進(jìn)行矩陣運算詳解

    這篇文章主要介紹了Python常用庫Numpy進(jìn)行矩陣運算詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07

最新評論

华池县| 静宁县| 梓潼县| 通渭县| 噶尔县| 普格县| 息烽县| 伊川县| 崇左市| 上栗县| 高碑店市| 邯郸县| 张掖市| 怀化市| 庐江县| 唐海县| 嘉黎县| 平度市| 高清| 油尖旺区| 桂东县| 固安县| 大邑县| 伊金霍洛旗| 阿拉善盟| 三台县| 峨边| 缙云县| 井研县| 基隆市| 浙江省| 梓潼县| 和田市| 张北县| 南丹县| 永昌县| 高唐县| 克拉玛依市| 健康| 连云港市| 随州市|