相关疑难解决方法(0)

我应该如何处理Python中的包含范围?

我在一个领域工作,其中范围通常包含在内.我有人类可读的描述,例如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)

python range slice

43
推荐指数
4
解决办法
4万
查看次数

标签 统计

python ×1

range ×1

slice ×1