本节的内容是命名切片。也就是给切片进行命名。有以下场景。假设你的代码要处理的内容包含了大量无法清晰明了的硬编码切片,你想从中获取某个固定位置的字段或者值并且想简化代码的格式。你要怎么处理。
话不多说,我们直接看代码示例
x = 'hausdjkxkvjxcjkvxcjkvtestxhu6ssfsfsasf6hu11'
print(x[21:25]) #test
print(x[39:41]) #hu
name = x[39:41]+(x[21:25])
print(name) #hutest
我想将字符串里的x里的test 和 hu提出来,并且让他们组合成一个name的名字。hutest。 以上代码虽然也没有问题,但是在可阅读性上不太好。此时我们就可以使用命名切片了。
fname = slice(39, 41)
lname = slice(21,25)
fullname = x[fname] + x[lname]
print(fullname) #hutest
我们通过声明fname 和 lname2 个 slice对象不但可以满足上述需求,也可以让我们的代码更加的清晰和增加阅读性和可维护性。这样使得在任何可以切片的地方就可以使用这2个对象来进行切片。比如:
list1 = [1,2,3,4,5,6]
a = slice(2,3,1) #最后一个参数是步数,可以不写,此处只是为演示
print(list1[a]) #切片结果:3
del list1[a]
print(list1) #[1, 2, 4, 5, 6]
print(a.start) #2 起始位置
print(a.stop) #3 结束位置
print(a.step) #1 步数