Python实现对切片命名的方法


本文摘自php中文网,作者不言,侵删。

本篇文章给大家带来的内容是关于Python实现对切片命名的方法,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

1、需求

我们的代码已经变得无法阅读,到处都是硬编码的切片索引,我们想优化他们。

2、解决方案

代码中如果有很多硬编码的索引值,将导致可读性和维护性都不佳。

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

1

2

3

4

5

6

7

8

9

10

11

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)

运行结果:

1

2

3

4

5

[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属性得到关于该对象的信息。例如:

1

2

3

4

5

6

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)

结果:

1

2

3

4

[2, 5]

2

8

3

此外,可以通过使用indices(size)方法将切片映射到特定大小的序列上。这会返回一个(start,stop,step)元组,所有的值都已经恰当地限制在边界以内(当做索引操作时可避免出现IndexError异常),例如:

1

2

3

4

5

s='HelloWorld'

a=slice(2,5)

print(a.indices(len(s)))

for i in range(*a.indices(len(s))):

    print(str(i)+":"+s[i])

结果:

1

2

3

4

(2, 5, 1)

2:l

3:l

4:o

以上就是Python实现对切片命名的方法的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python的变量和常量的实例详解

Python怎么批量读取txt文件为dataframe格式

Python里range是什么

Python代码的打包与发布

Python是编译型语言吗

笨办法学Python3这本书好吗

Python字典的操作总结(附示例)

Python不支持的数据类型有哪些

Python网络编程之tcp套接字的简单用法

关于Python中引入导入与自定义模块以及外部文件的实例分享

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...