python編程之slice與indices函數用法

這篇文章主要介紹了詳解python編程中slice與indices使用示例,有需要的朋友可以借鑑參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

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使用示例的詳細內容

本文地址:https://www.linuxprobe.com/python-slice-indices.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章