use*_*321 2 python range overlap
我有一个问题,关于如何在不使用任何现有库的情况下确定Python中三个范围的重叠:
例如,如果我有三个范围为(10,20)(15,25)(18,30),我应该如何找到它们之间的重叠?
我的回答应该是(18,19,20)
任何帮助将非常感激.谢谢 !
重叠从最高起点到最低点:
ranges = [(10,20), (15,25), (18,30)]
starts, ends = zip(*ranges)
result = range(max(starts), min(ends) + 1)
Run Code Online (Sandbox Code Playgroud)
测试:
>>> print(*result)
18 19 20
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1633 次 |
最近记录: |