В C считается плохой практикой вызывать strlen следующим образом:
for ( i = 0; strlen ( str ) != foo; i++ )
{
// stuff
}
Причина, конечно же, в том, что он неэффективен, поскольку он "подсчитывает" символы в строке несколько раз.
Однако в Python я довольно часто вижу такой код:
for i in range ( 0, len ( list ) ):
# stuff
Это плохая практика? Должен ли я сохранить результат len() в переменной и использовать ее?