我在一个领域工作,其中范围通常包含在内.我有人类可读的描述,例如from A to B,代表包括两个端点的范围 - 例如from 2 to 4手段2, 3, 4.
在Python代码中使用这些范围的最佳方法是什么?以下代码用于生成包含的整数范围,但我还需要执行包含切片操作:
def inclusive_range(start, stop, step):
return range(start, (stop + 1) if step >= 0 else (stop - 1), step)
Run Code Online (Sandbox Code Playgroud)
唯一的完整的解决方案我看到的是明确使用+ 1(或- 1)我每次使用时间range或切片符号(例如range(A, B + 1),l[A:B+1],range(B, A - 1, -1)).这种重复是否真的是与包容性范围一起工作的最佳方式?
编辑:感谢L3viathan的回答.编写inclusive_slice函数来补充inclusive_range当然是一种选择,尽管我可能会写如下:
def inclusive_slice(start, stop, step):
...
return slice(start, (stop + 1) if step >= 0 else (stop …Run Code Online (Sandbox Code Playgroud)