在C,它被认为是不好的做法,调用strlen这样的:在循环的条件语句中调用len()是否正确?
for (i = 0; strlen (str) != foo; i++)
{
// stuff
}
究其原因,当然是,它是低效的,因为它“罪状”,在一个字符串多次的字符。
然而,在Python,我看到这样的代码往往:
for i in range (0, len (list)):
# stuff
这是不好的做法?我应该将len()的结果存储在一个变量中并使用它吗?
我希望你看不到这样的代码,但是出于完全不同的原因:Python提供了直接的迭代,并且你展示的代码正在为使事情变得比必要更困难而走出困境。你可以直接用'my_list:'中的项目获得'my_list'项目;';没有必要生成索引。 – 2012-03-31 07:44:09