Python for 循环
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
什么是Python中的for循环?
Python中的for循环用于迭代序列(list,tuple,string)或其他可迭代对象。在序列上进行迭代称为遍历。
for循环的语法for val in sequence:
Body of for
在此,val是在每次迭代中获取序列内项目值的变量。
循环继续直到我们到达序列中的最后一项。使用缩进将for循环的主体与其余代码分开。
for循环流程图Python中for循环的流程图
示例:Python for循环
示例#程序查找列表中存储的所有数字的总和
#数字清单
numbers = [6, 5, 3, 8, 4, 2, 5, 4, 11]
# 用于存储总和的变量
sum = 0
# 遍历列表
for val in numbers:
sum = sum+val
print("总和是", sum)
当您运行程序时,输出将是:总和是 48
range()函数
我们可以使用range()函数生成数字序列。range(10)会产生0到9之间的数字(10个数字)。
我们还可以将开始,停止和步长定义为range(start, stop,step_size)。如果未提供,则step_size默认为1。
range对象在某种意义上是“惰性的”,因为它不会在我们创建它时生成它“包含”的所有数字。但是它不是迭代器,它支持in、len和getitem操作。
此函数不将所有值存储在内存中;这将是低效的。因此,它会记住开始、停止、步长,并在运行中生成下一个数字。
要强制此函数输出所有项目,可以使用函数list()。
以下示例将演示了这一点。
示例print(range(10))
print(list(range(10)))
print(list(range(2, 8)))
print(list(range(2, 20, 3)))
输出结果range(0, 10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[2, 3, 4, 5, 6, 7]
[2, 5, 8, 11, 14, 17]
我们可以在for循环中使用 range() 函数来迭代数字序列。它可以与len()函数结合使用索引来遍历序列。这是一个示例。
示例# 使用索引遍历列表的程序
genre = ['pop', 'rock', 'jazz']
# 使用索引遍历列表
for i in range(len(genre)):
print("I like", genre[i])
运行该程序时,输出为:I like pop
I like rock
I like jazz
带有else的循环
for循环也可以有一个可选的else块。
如果for循环中使用的序列中的项耗尽,则执行else部分。
break关键字可用于停止for循环。在这种情况下,else部分将被忽略。
因此,如果没有发生中断,则运行for循环的else部分。
这是一个示例来说明这一点。
示例digits = [0, 1, 5]
for i in digits:
print(i)
else:
print("没有剩余的项目.")
运行该程序时,输出为:0
1
5
没有剩余的项目.
在这里,for循环将打印列表中的项目,直到循环用尽。当for循环用尽时,它执行else代码块并输出 "没有剩余的项目"。
for...else语句可与break关键字一起使用,以便仅在未执行break关键字时运行else块。让我们举个示例:
示例# 显示记录中学生成绩的程序
student_name = 'Soyuj'
marks = {'James': 90, 'Jules': 55, 'Arthur': 77}
for student in marks:
if student == student_name:
print(marks[student])
break
else:
print('没有找到该名称的条目.')
输出结果没有找到该名称的条目.