Python: obtener muchas listas de una lista [duplicar]

Posible duplicado:
¿Cómo se divide una lista en partes iguales en Python?

Hola,

Me gustaría dividir una lista en muchas listas de una longitud de x elementos, como:

a = (1, 2, 3, 4, 5)

y obten :

b = ( (1,2), (3,4), (5,) )

si la longitud se establece en 2 o:

b = ( (1,2,3), (4,5) )

si la longitud es igual a 3 ...

¿Hay una buena manera de escribir esto? De lo contrario, creo que la mejor manera es escribirlo usando un iterador ...

Respuestas a la pregunta(3)

Su respuesta a la pregunta