在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