mr.*_*lle 5 python range python-3.x
我怎样才能简单地检查范围是否是另一个范围的子范围?
range1 in range2 不会按预期工作.
jon*_*rpe 11
你可以这样做O(1),如下:
def range_subset(range1, range2):
"""Whether range1 is a subset of range2."""
if not range1:
return True # empty range is subset of anything
if not range2:
return False # non-empty range can't be subset of empty range
if len(range1) > 1 and range1.step % range2.step:
return False # must have a single value or integer multiple step
return range1.start in range2 and range1[-1] in range2
Run Code Online (Sandbox Code Playgroud)
正在使用:
>>> range_subset(range(0, 1), range(0, 4))
True
Run Code Online (Sandbox Code Playgroud)
set((range(0,1))).issubset(range(0,4))会做的。
| 归档时间: |
|
| 查看次数: |
1180 次 |
| 最近记录: |