for循环在大多数语言中都有着重要的地位,深入的理解for循环是深入掌握编程方法的重点。
在python中for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
对于列表,for循环可以对列表中的每个元素依次进行操作,代码如下:
for i in [0, 1, 2, 3]:
print(i)
-------------------------------------------------------------------------
执行结果:
0
1
2
3
对于列表[0, 1, 2, 3]中的每一个元素都执行for循环体中的内容。
快捷生成列表的方法是使用range()函数,代码如下:
for i in range(4):
print(i)
-------------------------------------------------------------------------
执行结果:
0
1
2
3
上边的程序对于range函数生成的列表[0, 1, 2, 3]中的每一个元素,依次执行print方法
注: 对于range
1、如果只给出一个参数,则第一个参数为默认值0;
2、range的取值方式为前闭后开,第一个参数的值可以取到,第二个参数的值取不到,这和列表切片的方式一样;
3、range方法经常与for语句连用,你可以把它当作一个列表,但实际上它与列表并不能进行等价,请看下边的代码;
print(type(range(4)))
print(range(4))
-----------------------------------------------------------------------
执行结果:
<class 'range'>
range(0, 4)
可以看到类型是range,而不是list,直接输出range(4),它的输出并不是[0, 1, 2, 3],而是输出了range(0, 4)。
通过这种方式,我们可以遍历任何形式的列表,拿字典作为例子:
遍历字典的键:
one_map = {'a': 45, 'b': 84, 'c': 65}
for i in one_map.keys():
print(i)
----------------------------------------------------------------------
执行结果:
a
b
c
遍历字典的值:
for i in one_map.values():
print(i)
----------------------------------------------------------------------
执行结果:
45
84
65
遍历字典的键值对:
for a, b in one_map.items():
print(a + ": " + str(b))
------------------------------------------------------------------------
执行结果:
a: 45
b: 84
c: 65
str()方法将int型数据转换成str类型数据,进行字符串拼接。数据类型转换的详解在python进阶的数据类型转换文章中。
对于字符串,for循环可以对字符串中的每一个字母进行相应的操作,代码如下:
for i in "hello word":
print(i, end="+")
-----------------------------------------------------------------------
执行结果:
h+e+l+l+o+ +w+o+r+d+
对每一个字符的后面加上一个’+'号。