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

 

文章“【Python基礎知識】Python中列表的切片”已幫助

>>本文地址:http://www.028benet.com/zhuanye/2020/52890.html

THE END  

聲明:本站稿件版權均屬中公教育優就業所有,未經許可不得擅自轉載。

1 您的年齡

2 您的學歷

3 您更想做哪個方向的工作?

獲取測試結果
  • 大前端大前端
  • 大數據大數據
  • 互聯網營銷互聯網營銷
  • JavaJava
  • Linux云計算Linux
  • Python+人工智能Python
  • 嵌入式物聯網嵌入式
  • 全域電商運營全域電商運營
  • 軟件測試軟件測試
  • 室內設計室內設計
  • 平面設計平面設計
  • 電商設計電商設計
  • 網頁設計網頁設計
  • 全鏈路UI/UE設計UI設計
  • VR/AR游戲開發VR/AR
  • 網絡安全網絡安全
  • 新媒體與短視頻運營新媒體
  • 直播帶貨直播帶貨
  • 智能機器人軟件開發智能機器人
 

快速通道fast track

近期開班時間TIME

主站蜘蛛池模板: 呦交小u女国产秘密入口| 成人免费毛片观看| 国产成人亚洲综合色影视| 亚洲专区中文字幕| 你懂的国产视频| 欧美三级在线观看播放| 国产精品内射视频免费| 亚洲xxxx18| 国产美女在线一区二区三区| 曰批全过程免费视频网址| 国产在线观看www鲁啊鲁免费| 久久精品国产一区二区电影| 高清无码一区二区在线观看吞精| 日韩三级电影院| 国产AV无码专区亚洲精品| 一级毛片看一个| 男女交性特一级| 国产视频精品久久| 亚洲乱码一区av春药高潮| 国产人成精品香港三级在| 日本性生活网站| 卡一卡二卡三在线入口免费| аⅴ天堂中文在线网| 特级毛片A级毛片免费播放| 国产香蕉在线视频一级毛片| 亚洲jjzzjjzz在线观看| 香港三级电影在线观看| 成人爱做日本视频免费| 免费人成在线观看视频高潮| 91在线老师啪国自产| 最近的免费中文字幕视频| 国产乱码一区二区三区爽爽爽| 两个人看的www日本动漫| 狂野小农民在线播放观看| 国产精品免费_区二区三区观看| 久久综合狠狠综合久久97色| 色屁屁影视大全| 天天干天天干天天干| 亚洲一级黄色大片| 肥老熟妇伦子伦456视频| 天天做.天天爱.天天综合网|