我想将连续值保留在差异大于等于X的列表中假设我有此列表:
list = [1, 50, 70, 75, 100, 110]
而且我想保留相差> = 20的连续数字:
A = [1, 50, 70, 100]
为此,我现在正在使用此代码:
distance = 20
A = []
for i in (list):
if not A or (i - A[-1]) >= distance:
A.append(i)
还有其他方法可以使用itertools或more-itertools吗?谢谢!
尝试:
>>> arr = np.array([1, 50, 70, 75, 100, 110])
>>> mask = np.diff(arr) >= 20
>>> mask = np.insert(mask, 0, True)
>>> arr[mask]
array([ 1, 50, 70, 100])