Можно ли вызывать len() в условном операторе цикла?

В C считается плохой практикой вызывать strlen следующим образом:

for ( i = 0; strlen ( str ) != foo; i++ )
{
    // stuff
}

Причина, конечно же, в том, что он неэффективен, поскольку он "подсчитывает" символы в строке несколько раз.

Однако в Python я довольно часто вижу такой код:

for i in range ( 0, len ( list ) ):
    # stuff

Это плохая практика? Должен ли я сохранить результат len() в переменной и использовать ее?

6
задан DormoTheNord 31 March 2012 в 05:17
поделиться