一.for 循环介绍
经常需要遍历列表的所有元素,对每个元素执行相同的操作。需要对列表中的每个元素都执行相同的操作时,可使用Python中的for 循环。
1.1 从一个案例来看for循环
我这边有一个当前市面上流行的数据库的列表,我需要将这个列表所有的值都打印出来
代码:
dbs = ['Oracle','MySQL','SQL Server','Postgresql','Redis']
for db in dbs:
print(db)
测试记录:
>>> dbs = ['Oracle','MySQL','SQL Server','Postgresql','Redis']
>>>
>>> for db in dbs:
... print(db)
...
Oracle
MySQL
SQL Server
Postgresql
Redis
>>>
1.2 研究循环
循环这种概念很重要,因为它是让计算机自动完成重复工作的常见方式之一。例如,在1.1 的简单案例中
for db in dbs:
这行代码让Python获取列表dbs的第一个值'Oracle',并将它存储在变量db中,接下来python读取下一行代码
print(db)
它让Python打印出db的值,依然是‘Oracle’。鉴于该列表还包含其他值,Python返回到循环的第一行,重复执行,一直到遍历整个列表才结束。
刚开始使用循环时请牢记,对列表中的每个元素,都将执行循环指定的步骤,而不管列表包含多少个元素。如果列表包含一百万个元素,Python就重复执行指定的步骤一百万次,且通常速度非常快。
另外,编写for 循环时,对于用于存储列表中每个值的临时变量,可指定任何名称。然而,选择描述单个列表元素的有意义的名称大有帮助。例如,对于小猫列表、小狗列表和一般性列表,像下面这样编写for 循环的第一行代码是不错的选择:
for cat in cats:
for dog in dogs:
for item in list_of_items:
这些命名约定有助于你明白for 循环中将对每个元素执行的操作。使用单数和复数式名称,可帮助你判断代码段处理的是单个列表元素还是整个列表。
1.2 在for 循环中执行更多的操作
在for 循环中,可对每个元素执行任何操作。下面来扩展前面的示例,对于每个数据库,都打印一条消息。
代码:
dbs = ['Oracle','MySQL','SQL Server','Postgresql','Redis']
for db in dbs:
print("The database " + db + " is a good database;")
测试记录:
>>> dbs = ['Oracle','MySQL','SQL Server','Postgresql','Redis']
>>>
>>> for db in dbs:
... print("The database " + db + " is a good database;")
...
The database Oracle is a good database;
The database MySQL is a good database;
The database SQL Server is a good database;
The database Postgresql is a good database;
The database Redis is a good database;
>>>
1.3 在for 循环结束后执行一些操作
for 循环结束后再怎么做呢?通常,你需要提供总结性输出或接着执行程序必须完成的其他任务。
在for 循环后面,没有缩进的代码都只执行一次,而不会重复执行。如果需要在循环结束后,打印一条这是所有的数据库,需要将相应的代码放在for 循环后面,且不缩进。
代码:
dbs = ['Oracle','MySQL','SQL Server','Postgresql','Redis']
for db in dbs:
print("The database " + db + " is a good database;")
print("\nThis is all databases;")
测试记录:
>>> dbs = ['Oracle','MySQL','SQL Server','Postgresql','Redis']
>>>
>>> for db in dbs:
... print("The database " + db + " is a good database;")
...
The database Oracle is a good database;
The database MySQL is a good database;
The database SQL Server is a good database;
The database Postgresql is a good database;
The database Redis is a good database;
>>> print("\nThis is all databases;")
This is all databases;
>>>
参考:
1.Python编程:从入门到实践
网友评论