python程式設計之slice與indices函式用法

大雄45發表於2021-12-19
導讀 這篇文章主要介紹了詳解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使用示例的詳細內容

原文來自:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2795245/,如需轉載,請註明出處,否則將追究法律責任。

相關文章