程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Python >> Python序列的切片操作與技巧

Python序列的切片操作與技巧

編輯:Python

切片操作

對於具有序列結構的數據來說,切片操作的方法是:consequence[start_index: end_index: step]。

start_index:
表示是第一個元素對象,正索引位置默認為0;負索引位置默認為 -len(consequence)

end_index:
表示是最後一個元素對象,正索引位置默認為 len(consequence)-1;負索引位置默認為 -1。

step:
表示取值的步長,默認為1,步長值不能為0。

[注意]對於序列結構數據來說,索引和步長都具有正負兩個值,分別表示左右兩個方向取值。索引的正方向從左往右取值,起始位置為0;負方向從右往左取值,起始位置為-1。因此任意一個序列結構數據的索引范圍為 -len(consequence) 到 len(consequence)-1 范圍內的連續整數。

切片操作會將按照給定的索引和步長,截取序列中由連續的對象組成的片段,單個索引返回值可以視為只含有一個對象的連續片段。

切片的過程是從第一個想要的對象開始,到第一個不想要的對象結束。第一個想要的對象到第一個不想要的對象之間的連續對象就是你所有想要的對象。

因此在consequence[start_index: end_index]中,切片中包含了consequence[start_index],但不包括consequence[end_index]。

切片的操作類型:

con[start_index]:
返回索引值為start_index的對象。start_index為 -len(con)到len(con)-1之間任意整數。

con[start_index: end_index]:
返回索引值為start_index到end_index-1之間的連續對象。

con[start_index: end_index : step]:
返回索引值為start_index到end_index-1之間,並且索引值與start_index之差可以被step整除的連續對象。

con[start_index: ]:
缺省end_index,表示從start_index開始到序列中最後一個對象。

con[: end_index]:
缺省start_index,表示從序列中第一個對象到end_index-1之間的片段。

con[:]:
缺省start_index和end_index,表示從第一個對象到最後一個對象的完整片段。

con[::step]:
缺省start_index和end_index,表示對整個序列按照索引可以被step整除的規則取值。

在使用單索引對序列尋址取值時,你所輸入的索引值必須是處於 -len(consequence) 到 len(consequence)-1 之間的值,否則會報錯提示索引值超出范圍。
Python中含有六種內建序列類:list, tuple, string, unicode, buffer, xrange。其中xrange比較特殊,它是一個生成器,其他幾個類型具有的一些序列特性對它並不適合。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved