Python for 循环

  • Python for 循环

    for循环被用于迭代一个序列(也就是无论是一个列表(list),一个元组(tuple),一个字典(dict),一个set,或一个字符串)。这不太像其他编程语言中的for关键字,而更像其他面向对象编程语言中的迭代器方法那样工作。使用for循环,我们可以执行一组语句,对列表,元组,集合等中的每个项目执行一次。
    打印水果清单中的每个水果:
    fruits = ["apple", "banana", "cherry"]
    for x in fruits:
      print(x)
    
    尝试一下
    for 循环不需要索引变量预先设置。
  • 遍历字符串

    字符串是可迭代的对象,它们也包含一系列字符:
    循环浏览“banana”一词中的字母:
    for x in "banana":
      print(x)
    
    尝试一下
  • break声明

    使用break语句,我们可以在循环遍历所有项目之前停止循环:
    当x是“banana” 时退出循环:
    fruits = ["apple", "banana", "cherry"]
    for x in fruits:
      print(x)
      if x == "banana":
        break
    
    尝试一下
    当x是“banana” 时退出循环,但是这次中断出现在打印之前:
    fruits = ["apple", "banana", "cherry"]
    for x in fruits:
      if x == "banana":
        break
      print(x)
    
    尝试一下
  • continue声明

    使用continue语句,我们可以停止当前迭代,然后继续下一个:
    不要打印"banana":
    fruits = ["apple", "banana", "cherry"]
    for x in fruits:
      if x == "banana":
        continue
      print(x)
    
    尝试一下
  • range()函数

    要遍历一组代码指定的次数,我们可以使用range()函数,range()函数返回由1个数字,通过默认从0开始,并递增的顺序(缺省),并结束在指定次数。
    使用range()函数:
    for x in range(6):
      print(x)
    
    尝试一下
    请注意,range(6)不是0到6的值,而是0到5的值。
    range()函数默认为0作为初始值,但是也可以通过添加一个参数指定的起始值:range(2,6) ,从2至6(但不包括6):
    使用开始参数:
    for x in range(2, 6):
      print(x)
    
    尝试一下
    range()函数默认被1至递增序列,但是有可能通过增加第三参数指定增量值:range(2,30,3):
    用3递增序列(默认为1):
    for x in range(2, 30, 3):
      print(x)
    
    尝试一下
  • 其他在for循环中

    循环中的else关键字为for循环指定了循环结束时要执行的代码块:
    打印从0到5的所有数字,并在循环结束时打印一条消息:
    for x in range(6):
      print(x)
    else:
      print("Finally finished!")
    
    尝试一下
  • 嵌套循环

    嵌套循环是循环内的循环。对于“外循环”的每次迭代,“内循环”将执行一次完整的循环:
    为每个水果打印每个形容词:
    adj = ["red", "big", "tasty"]
    fruits = ["apple", "banana", "cherry"]
    
    for x in adj:
      for y in fruits:
        print(x, y)
    
    尝试一下
  • pass声明

    嵌套循环是循环内的循环。对于“外循环”的每次迭代,“内循环”将执行一次完整的循环:
    for循环不能为空,但是如果由于某种原因而导致for循环不包含任何内容,请放入pass语句中,以避免出现错误。
    for x in [0, 1, 2]:
      pass
    
    尝试一下