for-in
for-in的基础使用
除了while循环语句外,Python同样提供了for循环语句。两者能完成的功能基本差不多,但仍有一些区别:
-
while循环的循环条件是自定义的,自行控制循环条件
-
for循环是一种”轮询”机制,是对一批内容进行”逐个处理”
# 基础语法
for 变量名 in 容器类型数据:
循环操作体
# PS:python中的容器类型有字符串(str)、列表(list)、元组(tuple)、字典(dict)、集合(set)
# for-in循环
for s in 'goodprogrammer':
print(s)
"""
`in 容器型数据` 表示进入到容器结构中,先检查有没有下一个元素,如果有的话,取出元素,把元素的值赋值给`变量名`, 然后执行循环操作体,
再次 `in 容器型数据` 进入到容器结构中, 先检查有没有下一个元素, 如果没有的话,循环操作就结束了
通俗的说明: 容器类型可以理解为一包瓜子,变量就行获取一包瓜子中的每一个瓜子,直到没有一颗瓜子为止
"""
range等差数列
for-in语句中的【容器类型(也可以称之为可迭代对象)】只能被动取出数据处理,除了刚刚上述说明的类型之外,还可以使用range语句,来获得一个简单的数字序列(可以迭代对象的一种)
# 语法1:
# range(num)
# 获取一个从0开始,到num结束的数字序列(不含num本身)
# 如,range(5)取得的数据是:[0, 1, 2, 3, 4]
for s in range(5):
print(s)
# 语法2:
# range(num1,num2)
# 获得一个从num1开始,到num2结束的数字序列(不含num2本身)
# 如,range(5, 10)取得的数据是:[5, 6, 7, 8, 9]
for s in range(5,10):
print(s)
# 语法3:
# range(num1,num2,step)
# 获得一个从num1开始,到num2结束的数字序列(不含num2本身)
# 数字之间的步长,以step为准(step默认为1)
# num1 < num2 为正数就表示是递增的等差数列
# 如,range(5, 10, 2)取得的数据是:[5, 7, 9]
for s in range(5,10,2):
print(s)
# num1 > num2 为负数就表示是递减的等差数列
# 如,range(10, 5, -2)取得的数据是:[10, 8, 6]
for s in range(10,5,-2):
print(s)
# 如果不满足上述要求 生成的数列就是一个空数列 里面没有数据
# 如,range(10, 0, 2)取得的数据是:空数列
for s in range(10,0,2):
print(s)