详解python编程slice与indices函数用法示例

作者:沉沉沉小姐 时间:2021-03-23 05:13:22 

一般来说,内置的slice()函数会创建一个切片对象,可以用在任何允许进行切片操作的地方。

下面是slice的简介:


# slice 两种用法
class slice(stop)
class slice(start, stop[, step])

返回一个表示由 range(start, stop, step) 所指定索引集的 slice 对象。 其中 start 和 step 参数默认为 None。 切片对象具有仅会返回对应参数值(或其默认值)的只读数据属性 startstop 和 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(selflength)

此方法接受一个整型参数 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 

来源:https://blog.csdn.net/chenyuhuaxin/article/details/100565816

标签:python,slice,indices
0
投稿

猜你喜欢

  • 全面详解JS正则中匹配技巧及示例

    2024-03-24 15:07:39
  • PHP addAttribute()函数讲解

    2023-06-06 09:03:45
  • mysql判断当前时间是否在开始与结束时间之间且开始与结束时间允许为空

    2024-01-23 17:35:43
  • 浅谈js中startsWith 函数不能在任何浏览器兼容的问题

    2024-04-23 09:11:38
  • 动态载入asp树源码

    2007-09-06 19:34:00
  • Python实现桶排序与快速排序算法结合应用示例

    2022-10-26 23:33:39
  • mysql存储过程如何利用临时表返回结果集

    2024-01-13 07:39:05
  • Mysql主从复制注意事项的讲解

    2024-01-28 10:57:32
  • Vue项目中使用setTimeout存在的潜在问题及解决

    2024-05-28 16:00:14
  • 一文搞懂MySQL预编译

    2024-01-25 21:52:21
  • python 文件操作删除某行的实例

    2022-09-21 12:15:18
  • Python使用captcha制作验证码的实现示例

    2023-04-16 00:49:35
  • 一实用的table内容排序Javascript类库

    2008-11-02 15:03:00
  • Python Django form 组件动态从数据库取choices数据实例

    2024-01-21 17:00:52
  • Python 统计位数为偶数的数字代码详解

    2023-12-05 19:43:03
  • 一些实用的sql语句

    2009-11-10 20:21:00
  • 深入浅出解析mssql在高频,高并发访问时键查找死锁问题

    2024-01-29 02:32:54
  • 利用索引提高SQL Server数据处理的效率

    2009-01-08 15:32:00
  • Python编写合并字典并实现敏感目录的小脚本

    2023-05-28 18:36:29
  • django跳转页面传参的实现

    2022-01-23 00:56:55
  • asp之家 网络编程 m.aspxhome.com