En utilisant
for element in allElements[400:501]:
doSomething(element)
fait Python créer un nouvel objet, et pourrait avoir un impact sur l'utilisation de la mémoire.
Au lieu de cela j'utiliser:
for index in xrange(400, 501):
doSomething(allElements[index])
De cette façon, vous permet également de manipuler les index de la liste lors de l'itération.
EDIT: vous pouvez en Python 3.0 utiliser range()
au lieu de xrange()
, mais 2.5 et les versions antérieures range()
crée une liste alors que xrange()
crée un générateur, qui mange moins de votre RAM précieux.
Il est à noter que 'alist [istart: iend]' crée une liste complètement nouvelle avec une copie superficielle de tous les éléments de 'alist' entre les indices' istart' et 'iend'. C'est une opération O (iend-istart). – jfs