【发布时间】:2012-03-31 05:01:15
【问题描述】:
在 C 中,这样调用 strlen 被认为是不好的做法:
for ( i = 0; strlen ( str ) != foo; i++ )
{
// stuff
}
当然,原因是它效率低下,因为它多次“计算”字符串中的字符。
但是,在 Python 中,我经常看到这样的代码:
for i in range ( 0, len ( list ) ):
# stuff
这是不好的做法吗?我应该将 len() 的结果存储在一个变量中并使用它吗?
【问题讨论】:
-
我希望您不会看到这样的代码,但出于完全不同的原因:Python 提供了直接迭代,而您展示的代码正在竭尽全力使事情变得比必要的更难.可以直接通过
for item in my_list:获取my_list的物品;无需生成索引。