Python for循环详解:遍历字符串、列表、元组、字典、集合等序列类型
篇幅较长,建议大家收藏。

文章主要介绍 python for 循环。此循环常用于遍历字符串、列表、元组、字典、集合等序列类型。通过它可以逐个获取序列中的各个元素。它具有不错的参考意义和学习意义。要是喜欢的话,记得点赞、转发、收藏、关注,这样就不会迷路啦!
for 循环的语法格式如下:
for 迭代变量 in 字符串|列表|元组|字典|集合: 代码块
迭代变量是用于从序列类型变量中读取元素的,所以通常不会在循环中对它进行手动赋值;代码块指的是具有相同缩进格式的多行代码,就像 while 那样,因为它与循环结构联合使用,所以又被称为循环体。
for 循环语句的执行流程如图 1 所示。
图 1 for 循环语句的执行流程图
例如:
正在学习 python 的小伙伴可以私信小编“07”领取资料。打算学习 python 的小伙伴也可以私信小编“07”领取资料。
运行结果为:
可以看到,在使用 for 循环来遍历“张三”这个字符串时,迭代变量 ch 先是被赋予了‘张’这个值,接着又被赋予了‘三’这个值,并且这些值都被代入到循环体中去运行了。不过,在这个例子当中,循环体是比较简单的,仅仅只有一行输出代码而已。
for 进行数值循环
使用 for 循环时,其最基本的应用是进行数值循环。例如,若要实现从 1 到 100 的累加,便可执行如下代码。
运行结果为:
上面代码中,运用了 range()函数。此函数属于 Python 内置的函数,其作用是生成一系列连续的整数,并且大多用于 for 循环当中。
range() 函数的语法格式如下:
range(start,end,step)
此函数中各参数的含义如下:
用于指定计数起始值的是 start,如果省略不写,那么默认从 0 开始。用于指定计数结束值(不包括此值)的是 end,此参数不能省略。用于指定步长,也就是两个数之间的间隔的是 step,如果省略,则默认步长为 1。
总之,使用 range()函数时,若只有一个参数,那就表示指定的是 end;若有两个参数,那就表示指定的是 start 和 end。
大家也可以根据需要写代码测试一下。
例如:
运行结果为:
Python 2.x 中,既提供了 range()函数,又提供了 xrange()函数。xrange()函数能解决 range()函数不经意间耗掉所有可用内存的问题。而在 Python 3.x 中,把 xrange()更名为 range()函数,同时删除了老的 xrange()函数。
for 循环遍历列表和元组
使用 for 循环遍历列表和元组时,若列表或元组有若干个元素,那么 for 循环的循环体就会执行相应的次数,每次针对一个元素进行执行,并且迭代变量会依次被赋予元素的值。
如下代码使用 for 循环遍历元组:
运行结果为:
当然,可以按照上面的方法去遍历列表。比如,以下这个程序需要计算列表里所有数值元素的总和以及平均值。
运行结果为:
上面程序通过 for 循环来遍历列表的元素,同时对几何元素进行判断。只有当列表元素属于数值类型(包括 int 和 float)的时候,程序才会将这些元素进行累加。通过这样的方式,就能够计算出列表中数值元素的总和。
此外,程序运用了 Python 的 isinstance()函数,此函数的作用是判定某个变量是否为特定类型的实例,其前一个参数为待判断的变量,后一个参数则是类型。我们能够在 Python 的交互式解释器中对该函数的功能进行测试,像以下这样的运行过程:
从上面的运行过程能够看出,利用 isinstance() 函数来判断变量是否属于指定类型是很便捷且有效的。
如果有需要,for 循环能够依据索引来对列表或者元组进行遍历。也就是说,只要让迭代变量取从 0 到列表长度的这个区间范围,就可以通过这个迭代变量来访问列表的元素。例如下面这样的程序:
运行结果为:
for 循环遍历字典
使用 for 循环来遍历字典,实际上是通过遍历普通列表来达成的。之前在对字典进行介绍的时候已经提及,字典包含了以下三个方法:
items()可返回字典中所有的 key-value 对所构成的列表;keys()能返回字典中所有的 key 所构成的列表;values()则可以返回字典中所有的 value 所构成的列表。
所以,如果要对字典进行遍历,完全能够先运用字典的上面三种方法中的某一种,以获取字典的所有键值对、所有键或者所有值,接着再进行遍历。以下程序展示了利用 for 循环来遍历字典的过程:
运行结果为:
上面程序通过一个 for 循环遍历了字典的所有 key-value 对,又通过一个 for 循环遍历了字典的所有 key,还通过一个 for 循环遍历了字典的所有 value。当通过字典的 items() 去遍历所有的 key-value 对时,因为 items() 方法所返回的是字典中所有 key-value 对构成的列表,而列表的元素都是长度为 2 的元组。所以程序需要声明两个变量,用以分别代表 key 和 value,这也是序列解包的一种应用。
假如要实现一个程序,这个程序是用来统计列表中各个元素出现的次数的。因为我们不知道列表里包含多少个元素,所以就考虑定义一个字典,让这个字典以列表的元素作为 key,而该元素出现的次数当作 value。程序如下:
运行结果为:
python循环-for循环综合小案例
一、字符串的反转
二、打印 1—100之间的偶数
因为上面的偶数需要包括100,所以range(1,101)