¿Cómo se divide una lista en trozos de tamaño uniforme?

Tengo una lista de longitud arbitraria, y necesito dividirla en trozos de igual tamaño y operarla. Hay algunas formas obvias de hacer esto, como mantener un contador y dos listas, y cuando se llene la segunda lista, agréguela a la primera lista y vacíe la segunda lista para la siguiente ronda de datos, pero esto es potencialmente extremadamente costoso.

Me preguntaba si alguien tenía una buena solución a esto para listas de cualquier longitud, p. utilizando generadores.

Estaba buscando algo útil enitertools pero no pude encontrar nada obviamente útil. Sin embargo, podría haberlo perdido.

Pregunta relacionada:¿Cuál es la forma más "pitónica" de iterar sobre una lista en fragmentos?

Respuestas a la pregunta(30)

Su respuesta a la pregunta