在Python中,为什么说如果能用for循环就尽量不用while循环?

常读常新Python基础教程的时候看到了这句,有些疑惑
关注者
14
被浏览
18,081

10 个回答

当然是执行效率的问题:

参考图中的场景,有一个长度为 100 的数组,需要遍历每一个数求和;

用 for 来实现,可以直接遍历数组中的元素,这种情况下 Python 会调底层的 C;

而用 while,你需要一个 int 类型的索引 i,每次靠索引 i 自增来获取数,而 int 类型在 Python 中是不可变对象,每次 Python 都需要在内存中新分配一个地址给 i,而这个操作是非常耗时的。

所以,像上面这种情况,当然应该用 for 循环;

什么情况下用 while ?什么情况用 for ?

当循环次数是确定的时候首先考虑用 for,当循环次数不定,并且不需要向上面那种需要频繁创建新对象的情况,首先考虑 while。

如果觉得回答有用,请点赞,评论