时间:2021-05-23
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]283此外,可以通过使用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:l3:l4:o声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Python的切片是特别常用的功能,主要用于对列表的元素取值。使用切片也会让你的代码显得特别Pythonic。切片的主要声明如下,假设现在有一个list,命名为
本文实例讲述了Python实现字符串反转的常用方法。分享给大家供大家参考,具体如下:下面是实现python字符串反转的四种方法:1.切片defrev(s):re
本文实例讲述了Python实现文件按照日期命名的方法。分享给大家供大家参考。具体实现方法如下:这里实现文件按照创建的时期批量重命名的功能#-*-coding:u
下面通过实例代码给大家分享Python切片操作去除字符串首尾的空格的方法,具体内容如下所示:#利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意
Python批量更改文件名的实现方法前言:由于后台数据有好多,但是文案提供过来的图片命名全部没有按照格式来命名,Python这么强大的语言,肯定是能够处理这个问