pour ou en boucle pour faire quelque chose n fois

En Python, vous avez deux beaux moyens pour répéter une action plus d'une fois. L'un d'eux est while boucle et l'autre - for boucle. Donc, nous allons avoir un regard sur deux de simples morceaux de code:

for i in range(n):
    do_sth()

Et les autres:

i = 0
while i < n:
    do_sth()
    i += 1

Ma question est de savoir qui est le meilleur. Bien sûr, la première, qui est très commun dans la documentation des exemples et des différents morceaux de code que vous pourriez trouver autour de l'Internet, est beaucoup plus élégant et de plus courte durée, mais d'un autre côté, il crée un complètement inutile liste d'entiers juste pour faire une boucle au-dessus d'eux. N'est-ce pas un gaspillage de mémoire, surtout en ce qui concerne les grands nombres d'itérations sont concernés?

De sorte qu'en pensez-vous, ce qui est mieux?

source d'informationauteur Sventimir