【.com速译】在Python中创建循环时,通常有两种选择:while循环和for循环。while很简单:它只是重复,直到给定的条件不再为真。for循环更复杂,所以更强大:for循环语句在不知道集合细节的情况下遍历集合。Pythonfor循环组件Pythonfor循环有两个组件:?包含或产生要循环的元素的容器、序列或生成器。通常,任何支持Python迭代器协议的对象都可以在for循环中使用。?为容器/序列/构建器中的每个元素保存变量。在下面的示例中,我们遍历数字列表并使用变量digit依次保存每个数字:fordigitin[3,1,4,1,5,9]:print(digit)这将打印:314159如果您想要遍历产生容器或序列的对象,可以使用Python的多重赋值语法将其解包。例如:forletter,numberin[["a",1],["b",2]]:print(letter,number)输出:a1b2常见的Pythonfor循环以下是Pythonfor循环中常用的一些对象:Lists上面的示例显示了如何使用for循环迭代列表。请注意,如果您有一个列表,则for循环提取的每个元素本身就是一个列表。for循环不会自动“展平”任何类型的嵌套结构。字符串Python中的字符串被认为是“序列”——它们可以被迭代,并且迭代字符串的结果是字符串中的每个字符。forletterin"Helloworld":print(letter)这将产生:Helloworlddictionary使用for循环遍历字典将产生字典中的每个键。d1={"a":1,"b":2}forkeyind1:print(key)这会产生:ab如果你想遍历字典的值,使用字典的.values()方法。也可以使用.items()一起迭代键和值:d1={"a":1,"b":2}forkey,valueind1.items():print(key,value)这个willproduce:a1b2generatorproduces生成器生成一系列项目,一次一个项目。for循环中使用的生成器的一个常见示例是范围。forninrange(50):print(n)这将打印数字0到49。请注意,仅仅因为您可以在for循环中使用生成器,并不意味着生成器最终会自行停止。例如,这个for循环将永远运行:defforever():whileTrue:yield1forninforever():print(n)在这种情况下,需要做一些事情来确保循环可以终止。(参见下面的“流程控制”。)从C、C++或Java等语言转向Python的开发人员在Pythonfor循环中使用索引和枚举通常会创建一个索引变量,用于逐步遍历被迭代的对象。例如:x=[3,1,4,1,5,9]n=0andn
