教程 > python 3 教程 > 阅读:222

python 3 for 循环——迹忆客-ag捕鱼王app官网

python 中的 for 语句能够迭代任何序列的项目,例如列表或字符串。

语法

for iterating_var in sequence:
   statements(s)

如果一个序列包含一个表达式列表,它首先被评估。然后,序列中的第一项被分配给迭代变量iterate_var。接下来,语句块被执行。列表中的每一项都被分配给iterate_var,并且语句块被执行,直到整个序列用完。


流程图

python for循环流程图

range() 函数

内置函数 range() 是迭代数字序列的正确函数。它生成算术级数的迭代器。

>>> range(5)
range(0, 5)
>>> list(range(5))
[0, 1, 2, 3, 4]

例子

range() 生成一个迭代器来处理从 0 开始到 n-1 的整数。为了获得序列的列表对象,它被类型转换为 list()。现在可以使用 for 语句迭代这个列表。

>>> for var in list(range(5)):
   print (var)

这将产生以下输出。

0
1
2
3
4

示例

#!/usr/bin/python3
for letter in 'python':     # traversal of a string sequence
   print ('current letter :', letter)
print()
fruits = ['banana', 'apple',  'mango']
for fruit in fruits:        # traversal of list sequence
   print ('current fruit :', fruit)
print ("good bye!")

代码执行结果如下:

current letter : p
current letter : y
current letter : t
current letter : h
current letter : o
current letter : n
current fruit : banana
current fruit : apple
current fruit : mango
good bye!

按序列索引迭代

迭代每个项目的另一种方法是通过索引偏移到序列本身。以下是一个简单的例子 -

#!/usr/bin/python3
fruits = ['banana', 'apple',  'mango']
for index in range(len(fruits)):
   print ('current fruit :', fruits[index])
print ("good bye!")

上述代码执行结果如下

current fruit : banana
current fruit : apple
current fruit : mango
good bye!

在这里,我们借助了 len() 内置函数,它提供了元组中元素的总数以及 range() 内置函数,为我们提供了实际的迭代序列。


在 for 循环中使用 else 语句

python 支持将 else 语句与循环语句关联

如果else语句与for循环一起使用,则在循环遍历列表时执行else语句。

以下示例说明了 else 语句与搜索 10 到 20 之间的素数的 for 语句的组合。

#!/usr/bin/python3
numbers = [11,33,55,39,55,75,37,21,23,41,13]
for num in numbers:
   if num%2 == 0:
      print ('the list contains an even number')
      break
else:
   print ('the list doesnot contain even number')

上述代码执行结果如下:

the list does not contain even number

查看笔记

扫码一下
查看教程更方便
网站地图