• <menu id="wosog"><strong id="wosog"></strong></menu>
  • <nav id="wosog"></nav>
  • <menu id="wosog"></menu>
    400-650-7353

    精品課程

    您所在的位置:首頁 > IT干貨資料 > python > 【Python基礎知識】Python中列表的切片

    【Python基礎知識】Python中列表的切片

    • 發布: python培訓
    • 來源:python干貨資料
    • 2020-08-21 14:55:40
    • 閱讀()
    • 分享
    • 手機端入口

    切片(slice)用來獲取列表中的片段,即原始列表的子列表。切片用被方括號“[]”括起來且用冒號“:”分隔的數字來表示:

    1. >>> fruits = ['apple''banana''watermelon''strawberry''orange'
    2. >>> fruits[0:3]   # 獲取列表中的前3項 
    3. ['apple''banana''watermelon'
    4. >>> fruits[-2:-1]   # 使用負數切片 
    5. ['strawberry'

    注意,切片包含索引項的起始值,而不包含結束值。因此,使用切片fruits[0:3]獲取的是fruits列表的前3項,如圖所示。

    使用負數切片fruits[-2:-1]獲取的是fruits列表的倒數第2項,如圖所示。

    初學者可能會認為切片也包含索引項的結束值,從而獲取到錯誤的切片。例如,嘗試獲取列表的全部項:

    1. >>> fruits = ['apple''banana''watermelon''strawberry''orange'
    2. >>> fruits[0:4]   # 錯誤的切片,只能獲取到列表中的前4項 
    3. ['apple''banana''watermelon''strawberry'
    4. >>> fruits[0:5]   # 正確的切片,獲取列表的全部項 
    5. ['apple''banana''watermelon''strawberry''orange'

    1.1 超出列表范圍的切片

    如果嘗試獲取超出列表范圍的切片,Python解釋器不會報錯,而是返回一個空列表:

    1. >>> fruits[100:200
    2. [] 

    同樣,如果切片中索引項的起始值大于結束值,Python解釋器同樣不會報錯,而是返回一個空列表:

    1. >>> fruits[3:0] 
    2. [] 

    1.2 切片的簡寫

    切片的簡寫分為以下三種情況:

    ①省略索引項的起始值,語法格式為“列表名[:結束值]”,與“列表名[0:結束值]”是等價的。

    ②省略索引項的結束值,語法格式為“列表名[起始值:]”,與“列表名[起始值:列表長度]”是等價的。

    ③省略索引項的起始值和結束值,即獲取列表的全部項,語法格式為“列表名[:]”,與“列表名[0:列表長度]”是等價的。

    下面是一些切片簡寫的示例:

    1. >>> fruits = ['apple''banana''watermelon''strawberry''orange'
    2. >>> fruits[:3]   # 獲取列表中的前3項 
    3. ['apple''banana''watermelon'
    4. >>> fruits[-2:]   # 獲取列表中的后2項 
    5. ['strawberry''orange'
    6. >>> fruits[:]   # 獲取列表的全部項 
    7. ['apple''banana''watermelon''strawberry''orange'

    前文提到過,fruits[-2:-1]獲取的是倒數第2項,如果試圖獲取倒數第1項:

    1. >>> # 這兩種方式在此處是等價的 
    2. >>> fruits[-1:] 
    3. ['orange'
    4. >>> fruits[-1:5
    5. ['orange'

    1.3 指定切片的步長

    在執行切片操作時,可以指定步長,步長的值也用冒號來分隔。步長能夠跳過不想要獲取的項。為了更容易地看出步長的工作方式,重新創建一個包含從0到9的整數列表:

    1. >>> numbers = [0123456789

    步長的默認值為1,即一個挨著一個,前面使用過的切片全都是這樣。下面兩種寫法是等價的:

    1. >>> numbers = [0123456789
    2. >>> numbers[:] 
    3. [0123456789
    4. >>> numbers[::1
    5. [0123456789

    如果指定的步長大于1,那么會跳過一些項。當切片的步長為2時,會跳過1項;當切片的步長為3時,會跳過2項:

    1. >>> numbers[::2
    2. [02468
    3. >>> numbers[::3
    4. [0369

    索引值可以為負數,同樣步長也可以為負數。當步長為負數時,列表從后向前取。當切片的步長為-1時,即為反轉列表;當切片的步長為-2時,會反轉列表并跳過1項:

    1. >>> numbers = [0123456789
    2. >>> numbers[::-1]   # 步長為-1 
    3. [9876543210
    4. >>> numbers[::-2]   # 步長為-2 
    5. [97531

     

    課程好禮申請領取
    您的姓名
    您的電話
    意向課程
     

    中公優就業

    官方QQ

    掃描上方二維碼或點擊一鍵加群,免費領取價值599元網課,加群暗號:599。 一鍵加群

    >>本文地址:
    注:本站稿件未經許可不得轉載,轉載請保留出處及源文件地址。

    推薦閱讀

    優就業:ujiuye

    關注中公優就業官方微信

    • 關注微信回復關鍵詞“大禮包”,領80G學習資料
    QQ交流群
    領取免費網課
    (加群備注“網站”)
    IT培訓交流群 加入群聊 +
    軟件測試 加入群聊 +
    全鏈路UI/UE設計 加入群聊 +
    Python+人工智能 加入群聊 +
    互聯網營銷 加入群聊 +
    Java開發 加入群聊 +
    PHP開發 加入群聊 +
    VR/AR游戲開發 加入群聊 +
    大前端 加入群聊 +
    大數據 加入群聊 +
    Linux云計算 加入群聊 +
    優就業官方微信
    掃碼回復關鍵詞“大禮包”
    領取80G學習資料

    巨劃算
    現在開通
    2020OAO訓練營
    免費試聽
    課程資料、活動優惠 領取通道
     
     
  • <menu id="wosog"><strong id="wosog"></strong></menu>
  • <nav id="wosog"></nav>
  • <menu id="wosog"></menu>
    线上棋牌平台