Python对切片命名的实现方法
2018-10-16 14:57
871 查看
1、需求
我们的代码已经变得无法阅读,到处都是硬编码的切片索引,我们想优化他们。
2、解决方案
代码中如果有很多硬编码的索引值,将导致可读性和维护性都不佳。
内置的slice()函数会创建一个切片对象,可以用在任何运行进行切片操作的地方。
items=[0,1,2,3,4,5,6] a=slice(2,4) print(items[2:4]) print(items[a]) items[a]=[10,11,12,13] print(items) del items[a] print(items[a]) print(items)
运行结果:
[2, 3] [2, 3] [0, 1, 10, 11, 12, 13, 4, 5, 6] [12, 13] [0, 1, 12, 13, 4, 5, 6]
如果有一个slice对象的实例s。可以分别通过s.start、s.stop以及s.step属性得到关于该对象的信息。例如:
items=[0,1,2,3,4,5,6] a=slice(2,8,3) print(items[a]) print(a.start) print(a.stop) print(a.step)
结果:
[2, 5] 2 8 3
此外,可以通过使用indices(size)方法将切片映射到特定大小的序列上。这会返回一个(start,stop,step)元组,所有的值都已经恰当地限制在边界以内(当做索引操作时可避免出现IndexError异常),例如:
s='HelloWorld' a=slice(2,5) print(a.indices(len(s))) for i in range(*a.indices(len(s))): print(str(i)+":"+s[i])
结果:
(2, 5, 1) 2:l 3:l 4:o
您可能感兴趣的文章:
相关文章推荐
- python 实现对文件夹中的图像连续重命名方法
- python中序列方法与切片实现逆序的简便方法(::-1)
- 【廖雪峰 python教程 课后题 切片】利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法:
- Python实现文件按照日期命名的方法
- Python实现获取照片拍摄日期并重命名的方法
- Python实现文件按照日期命名的方法
- 廖雪峰Python教程1轮还没学明白的(2) -- 面向对象高级编程 -- 定制类 -- 实现Fib数列的__getitem__()/切片方法
- Python cookbook(数据结构与算法)对切片命名清除索引的方法
- 【廖雪峰 python教程 课后题 切片】利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法:
- Ganglia 扩展之Python实现方法
- Python操作Sqlite正确实现方法解析
- Python单例模式的4种实现方法
- Python对PHP服务器hmac_sha1签名认证方法的匹配实现
- python如何实现——日期加上天数的处理方法
- python 抽象类、抽象方法的实现
- Python锁文件实现(其中第二种方法是转载的)
- 用Python实现fib数列的几个方法(yield的应用)
- python如何实现——日期加上天数的处理方法
- 使用SharedStore的Python实现方法
- Python提取Linux内核源代码的目录结构实现方法