我在何时应该在Python中使用while循环或for循环时发现问题。似乎人们更喜欢使用for循环 (更少的代码行?) 。我是否应该使用一种或另一种特定情况?这是个人喜好吗?到目前为止,我阅读的代码使我认为它们之间存在很大差异。
while
for
是的,while和for之间存在巨大差异。
该 用于 通过集合或迭代的对象或发电机功能语句迭代。
的 同时, 语句简单循环,直到条件为假。
这不是喜好。这是关于您的数据结构是一个问题。
通常,我们将要处理的值表示为range(实际列表)或xrange(生成值)。这为我们提供了一个为 for 语句量身定制的数据结构。
range
xrange
但是,通常来说,我们有一个现成的集合:一个集合,元组,列表,映射甚至一个字符串已经是一个可迭代的集合,因此我们仅使用 for 循环。
在某些情况下,我们可能希望为我们完成一些功能编程处理,在这种情况下,我们可以将该转换应用为迭代的一部分。在sorted与enumerate上一个迭代函数应用转换自然与千篇一律 的 说法。
sorted
enumerate
如果您没有整洁的数据结构来循环访问,或者没有生成器函数来驱动处理,则必须使用 while 。