Python中的 for 语句可用来迭代任何序列中的项目,如列表或字符串。
for iterating_var in sequence:
statements(s)
如果一个序列中包含一个表达式列表时,它需要首先计算。然后,序列中的第一项被分配给所述迭代变量iterating_var,接下来, 语句块被执行。 列表中的每一项都被分配到iterating_var, 并执行语句( statement)块,直到整个序列完成。
内置函数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() 内置函数用来遍历序列顺序。
Python支持在循环语句相关联else语句
如果else语句和for循环语句一起使用,else块只在 for 循环正常终止时执行(而不是遇到break语句)。
如果else语句用在 while循环中,当条件变为 False 时,则执行else语句。
下面的例子说明了一个else语句和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 doesnot contain even number
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理