
说明
1、如果在切片时遗漏了任何参数,Python将尝试自动计算。
2、如果检查CPython的源代码,会发现一个函数叫做PySlice_GetIndicesEx(),它计算任何给定参数的切片索引。
它是Python中的逻辑等效代码。
该函数使用Python对象和可选参数进行切片,并返回切片的开始、停止、步长和长度。
实例
defpy_slice_get_indices_ex(obj,start=None,stop=None,step=None):
length=len(obj)
ifstepisNone:
step=1
ifstep==0:
raiseException("Stepcannotbezero.")
ifstartisNone:
start=0ifstep>0elselength-1
else:
ifstart<0:
start+=length
ifstart<0:
start=0ifstep>0else-1
ifstart>=length:
start=lengthifstep>0elselength-1
ifstopisNone:
stop=lengthifstep>0else-1
else:
ifstop<0:
stop+=length
ifstop<0:
stop=0ifstep>0else-1
ifstop>=length:
stop=lengthifstep>0elselength-1
if(step<0andstop>=start)or(step>0andstart>=stop):
slice_length=0
elifstep<0:
slice_length=(stop-start+1)/(step)+1
else:
slice_length=(stop-start-1)/(step)+1
return(start,stop,step,slice_length)
以上就是python查找缺失参数的方法,希望对大家有所帮助。更多Python学习指路:Python基础教程