Identificar grupos de números continuos en una lista.

Me gustaría identificar grupos de números continuos en una lista, de modo que: myfunc([2, 3, 4, 5, 12, 13, 14, 15, 16, 17, 20]) Devoluciones: [(2,5), (12,17), 20] Y me preguntaba cuál era la mejor manera de hacer esto (particularmente si hay algo incorporado en Python). Editar: Tenga en...