阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

python编程之slice与indices函数用法

69次阅读
没有评论

共计 1093 个字符,预计需要花费 3 分钟才能阅读完成。

导读 这篇文章主要介绍了详解 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 使用示例的详细内容

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计1093字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中