fork download
  1. # Sua lista original
  2. lista = [(13, 38), (14, 35), (14, 36), (15, 33), (15, 34), (15, 35),
  3. (15, 36), (18, 31), (18, 32), (19, 33), (22, 34), (22, 29), (23, 30),
  4. (23, 31), (24, 32)]
  5.  
  6. # Importa a biblioteca Numpy
  7. import numpy as np
  8.  
  9. # Separa em grupos usando como índices da separação os locais onde ocorre uma
  10. # diferença entre o item atual e o próximo maior do que 1
  11. grupos = np.split(lista, [i+1 for i,j in enumerate(np.diff(lista, axis=0)) if j[0] > 1])
  12.  
  13. # Imprime os grupos produzidos
  14. for i, g in enumerate(grupos):
  15. print('Grupo #{}: {}'.format(i, g.tolist()))
Success #stdin #stdout 0.07s 92224KB
stdin
Standard input is empty
stdout
Grupo #0: [[13, 38], [14, 35], [14, 36], [15, 33], [15, 34], [15, 35], [15, 36]]
Grupo #1: [[18, 31], [18, 32], [19, 33]]
Grupo #2: [[22, 34], [22, 29], [23, 30], [23, 31], [24, 32]]