python程式設計之slice與indices函式用法
導讀 | 這篇文章主要介紹了詳解python程式設計中slice與indices使用示例,有需要的朋友可以借鑑參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪 |
一般來說,內建的slice()函式會建立一個切片物件,可以用在任何允許進行切片操作的地方。
下面是slice的簡介:
# slice 兩種用法 class slice(stop) class slice(start, stop[, step])
返回一個表示由 range(start, stop, step) 所指定索引集的 slice 物件。 其中 start 和 step 引數預設為 None。 切片物件具有僅會返回對應引數值(或其預設值)的只讀資料屬性 start, stop 和 step。 它們沒有其他的顯式功能;不過它們會被 NumPy 以及其他第三方擴充套件所使用。
切片物件也會在使用擴充套件索引語法時被生成。 例如: a[start:stop:step] 或 a[start:stop, i]。
請參閱 itertools.islice() 瞭解返回迭代器的一種替代版本。
items = [0, 1, 2, 3, 4, 5, 6] a = slice(2,4) print(items[2:4]) # [2, 3] items[a] # [2:3] items[a] = [10, 11] print(items) # [0, 1, 10, 11, 4, 5, 6] del items[a] # [0, 1, 4, 5, 6]
如果有一個slice物件的例項s,可以分別透過s.atart、s.stop以及s.step屬性來得到關於該物件的資訊。例:
a = slice(10, 50, 2) print(a.start) # 10 print(a.stop) # 50 print(a.step) # 2
下面是indices官方解釋:
slice.indices(self, length)
此方法接受一個整型引數 length 並計算在切片物件被應用到 length 指定長度的條目序列時切片的相關資訊應如何描述。其返回值為三個整型陣列成的元組;這些數分別為切片的 start 和 stop 索引號以及 step 步長值。索引號缺失或越界則按照正規連續切片的方式處理。
所有的值都已經恰當的限制在邊界以內(當做索引操作時可避免出現IndexError異常)例:
s = 'HelloWorld' a.indices(len(s)) # (5, 10, 2) for i in range (*a.indices(len(s))): print(s[i]) # w # r # d
以上就是詳解python程式設計slice與indices使用示例的詳細內容
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2795245/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python之函式用法divmodPython函式
- 物件導向程式設計之super內建函式的用法物件程式設計函式
- 03 shell程式設計之case語句與函式程式設計函式
- JavaScript函數語言程式設計之pointfree與宣告式程式設計JavaScript函數程式設計
- 好程式設計師Python培訓分享函數語言程式設計之匿名函式程式設計師Python函數函式
- 好程式設計師Python教程系列遞迴函式與匿名函式呼叫程式設計師Python遞迴函式
- python報錯:TypeError: slice indices must be integers or None or have an __index__ methodPythonErrorNoneIndex
- python函數語言程式設計之yield表示式形式Python函數程式設計
- linux程式設計之pipe()函式Linux程式設計函式
- Scala函式與函數語言程式設計函式函數程式設計
- 好程式設計師Python培訓分享Python的遞迴函式與匿名函式呼叫程式設計師Python遞迴函式
- 函式響應式程式設計與RxSwift函式程式設計Swift
- 邏輯程式設計與函式程式設計的介紹程式設計函式
- linux系統程式設計:setjmp和longjmp函式用法Linux程式設計函式
- python函式程式設計 返回函式 匿名函式 裝飾器 偏函式Python函式程式設計
- Python標準庫:內建函式slice(stop) slice(start, stop[, step])Python函式
- group by分組函式之rollup與cube用法函式
- 函式程式設計函式程式設計
- Python range() 函式用法Python函式
- Python排序函式用法Python排序函式
- 深入掌握 ECMAScript 6 非同步程式設計(一):Generator 函式的含義與用法非同步程式設計函式
- 深入掌握 ECMAScript 6 非同步程式設計(四):async函式的含義與用法非同步程式設計函式
- Python之函數語言程式設計Python函數程式設計
- Linux系統程式設計(9)—— 程式之程式控制函式exec系列函式Linux程式設計函式
- Python 函數語言程式設計 – 高階函式Python函數程式設計函式
- Python函數語言程式設計指南(2):函式Python函數程式設計函式
- Python函數語言程式設計自帶函式Python函數程式設計函式
- Python基礎程式設計(十六)——函式4Python程式設計函式
- 深入掌握 ECMAScript 6 非同步程式設計(三):co函式庫的含義與用法非同步程式設計函式
- Lambda表示式入門--函數語言程式設計與函式式介面函數程式設計函式
- Linux/Unix C程式設計之的perror函式,strerror函式,errnoLinuxC程式程式設計Error函式
- scala 函式程式設計函式程式設計
- 函式程式設計之道函式程式設計
- Python 中filter函式用法PythonFilter函式
- Javascript之字串擷取函式slice()、substring()、substr()JavaScript字串函式
- linux非阻塞式socket程式設計之select()用法Linux程式設計
- Python函數語言程式設計-高階函式、匿名函式、裝飾器、偏函式Python函數程式設計函式
- Linux系統程式設計(3)——檔案與IO之fcntl函式Linux程式設計函式