我们经常需要遍历列表的所有元素,对每个元素执行相同的操作。 例如,在游戏中,可能需要将每个界面元素平移相同的距离;对于包含数字的列表,可能需要对每个元素执行相同的统计运算;在网站中,可能需要显示文章列表中的每个标题。需要对列表中的每个元素执行相同的操作时,可使用python中的for循环
建立一个魔术师名单并打印
magicians=['alice','david','carolina']
for magician in magicians:
print(magician)
1.深入地研究循环
上述代码中,python会先读取for循环的第一行代码: 这行代码让python获取列表magicians中第一个值’alice‘,并将其储存到变量magician中 接下来读取下一行代码: 让python打印magician的值,然后返回for循环的第一行 python获取列表中的下一个元素,储存到变量magician中,再执行第二代码 依次类推 另外编写for循环时,对于用于储存列表中每个值的临时变量,可以指定任何名称 例如对于小猫列表、小狗列表和一般性列表,可以像下面这样编写for循环的第一行代码
for cat in cats:
for dog in dogs:
for item in list_of_items:
这些命名约定有助于明白for循环中将对每个元素执行的操作 使用单数还是复数式名称,可以帮助判断代码段处理的是单个列表元素还是整个列表
2 在for循环中执行更多的操作 在for循环中,可对列表每个元素进行任何操作 对每一位魔术师都打印一条消息,指出他的表演很精彩
print(magician.title()+',that was a great trick!')
在for循环中,想包含多少行代码都行。 在代码行for magician in magicians后,每个缩进的的代码行都是循环的一部分,且针对列表中的每个值都执行一次。因此,可对列表中的每个值执行任意次数的操作 再添加一行代码,告诉每个魔术师,我们期待他的下一次表演
print("I can't wait to see your next trick,"+magician.title()+'.\n')
上述代码的运行结果为
alice
Alice,that was a great trick!
I can't wait to see your next trick,Alice.
david
David,that was a great trick!
I can't wait to see your next trick,David.
carolina
Carolina,that was a great trick!
I can't wait to see your next trick,Carolina.
3 在for循环结束后执行一些操作
通常你需要提供总结性输出或接着执行程序必须完成的其它任务。在for循环之后,没有缩进的代码都只执行一次,而不会重复执行。 在下面打印出来一条向全体魔术师致谢的消息,感谢他们的精彩表演
print("Thank you, everyone. That was a great magic show!")
运行结果
Thank you, everyone. That was a great magic show!
使用for循环处理数据是一种对数据集整体操作的不错的方式。例如你可以使用for循环来初始化游戏——遍历所有角色,将每个角色都显示到屏幕上:再在循环后面添加一个不缩进的代码块。在屏幕上绘制所有角色后显示一个play now按钮