Python: obtenha muitas listas de uma lista [duplicada]

Possível duplicado:
Como você divide uma lista em partes iguais no Python?

Oi,

Eu gostaria de dividir uma lista em muitas listas de um comprimento de x elementos, como:

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

e pegue :

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

se o comprimento estiver definido como 2 ou:

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

se o comprimento for igual a 3 ...

Existe uma boa maneira de escrever isso? Caso contrário, acho que a melhor maneira é escrevê-lo usando um iterador ...

questionAnswers(3)

yourAnswerToTheQuestion