Вы, безусловно, можете сгруппировать значения в требуемые наборы. Есть несколько способов сделать это, например, закрытие:
import itertools as it
def gn(init=0):
_x = init
_count = 0
def fn(x):
nonlocal _count, _x
_count += x - _x > 10
_x = x
return _count
return fn
In []:
x = [0, 10, 20, 60, 80, 90, 100]
[list(g) for k, g in it.groupby(x, gn())]
Out[]:
[[0, 10, 20], [60], [80, 90, 100]]
или аналогично с классом:
class G:
def __init__(self, init=0):
self._x = init
self._count = 0
def __call__(self, x):
self._count += x - self._x > 10
self._x = x
return self._count
In []:
x = [0, 10, 20, 60, 80, 90, 100]
[list(g) for k, g in it.groupby(x, G())]
Out[]:
[[0, 10, 20], [60], [80, 90, 100]]
Тогда вы можете просто перебрать эти группы, а если затем len() == 1
сделать что-то другое.