Slice a list or NumPy array into consecutive tuples
My function needs two params(a,b) and if...break
, which seems redundant. Can it be made prettier?
def slice_list(lst,num):
"""
Given a list or Numpy array,
get consecutive tuples based on specific window.
"""
rst = []
for i,_ in enumerate(lst):
a = i
b = i + num
if len(lst[a:b])<num:
break
rst.append(tuple(lst[a:b]))
return rst
Example:
>>> lst = np.array([10, 11, 12, 13, 26, 28])
>>> slice_list(lst,4)
[(10, 11, 12, 13), (11, 12, 13, 26), (12, 13, 26, 28)]
Jack
- 171
- 1
- 13
lang-py