# Sua lista original
lista = [(13, 38), (14, 35), (14, 36), (15, 33), (15, 34), (15, 35),
  (15, 36), (18, 31), (18, 32), (19, 33), (22, 34), (22, 29), (23, 30),
  (23, 31), (24, 32)]
 
# Importa a biblioteca Numpy
import numpy as np
 
# Separa em grupos usando como índices da separação os locais onde ocorre uma
# diferença entre o item atual e o próximo maior do que 1
grupos = np.split(lista, [i+1 for i,j in enumerate(np.diff(lista, axis=0)) if j[0] > 1])
 
# Imprime os grupos produzidos
for i, g in enumerate(grupos):
	print('Grupo #{}: {}'.format(i, g.tolist()))