python爬蟲教程,python中slice 和 indices使用

 2023-11-05 阅读 29 评论 0

摘要:一般來說,內置的slice()函數會創建一個切片對象,可以用在任何允許進行切片操作的地方。 下面是slice的簡介: # slice 兩種用法 class?slice(stop)class?slice(start,?stop[,?step]) 返回一個表示由?range(start,?stop,?step)?所指定索引集的?slice?對象。

一般來說,內置的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]

python爬蟲教程。如果有一個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?步長值。索引號缺失或越界則按照正規連續切片的方式處理。

python map。slice.indices相當于stop的位置,只要大于之前設置的stop索引,則不做更改;若小于stop索引,則取小索引。

所有的值都已經恰當的限制在邊界以內(當做索引操作時可避免出現IndexError異常)例:

a.indices(100)  # 因為100比50大,故不做更改
# (10, 50, 2)s = 'HelloWorld'
a.indices(len(s))   # 因為10小于之前設置的100,故stop更改為10
# (10, 10, 2)
for i in range (*a.indices(len(s))):print(s[i])
# w
# r
# d

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/168330.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息