for语句基本使用
1. for 循环可以遍历任何可迭代对象,如一个列表或者一个字符串。
比如:
fruits = ["apple", "banana", "orange", "pear"]
for fruit in fruits:
print (fruit)
# 这段代码 会将列表里的水果 从左到右打印出来
# 首先取出apple,赋值给fruit,然后执行循环下的子代码,输出fruit的值 'apple'
# 回到for语句 由于列表里还有元素 所以继续取第二个元素 banana 赋值给fruit 再执行print
# 依此类推...
# 当列表里的水果取完之后 循环自动结束
2.for循环基本结构:
for 变量名 in 待遍历的数据:
for循环体代码
3.for循环主要遍历的数据类型有(常见有 字符串、列表、元组、字典、集合):
如果使用for循环遍历字典,只能遍历字典的键。
dictA = {'apple': 2,
'banana': 4,
'orange': 5,
'pear': 0
}
for i in dictA:
print(i) # apple banana orange pear
for循环中break和continue的使用
在for循环中直接使用break,会跳出当前for循环
在for循环中使用continue,会结束当前循环,直接进入下一个循环。
for循环语句的else子句
'''or语句也支持else子句,在for循环没有被break强制结束时,会运行else语句下的子代码。'''
for i in [1, 2, 3, 4]:
print(i)
else:
print('yes') # yes会被输出
for i in [1, 2, 3, 4]:
print(i)
break # 进行了一次遍历 就强制结束循环
else:
print('yes') # yes不会被输出
range方法
range()方法可以理解是为了帮助我们产生一个内部含有多个数字的列表。
'''在python2中:'''
range()会直接产生一个列表
比如:range(4)
列表是从中的元素是从0开始到3结束,这也反映出range的特点: 顾头不顾尾
range中输入一个数字的情况,range默认从0开始。
如果你指定了开始的数字,range就会从你指定的数字开始:
如果range(1000000000000)?
会生成一个极大的列表,这样是很占用内存的。所有python2提供了xrange():
类似于一个工厂 不会占用太多的内存空间 要就生产
'''python3中'''
python3中的range()于python2的xrange(),生成一个可迭代的range对象。
range对象还不是列表,它占用内存空间比列表小,
也可以用list()方法将range对象转换为一个列表
list(range(4)) # [0, 1, 2, 3]
range方法还支持第三个参数:
for i in range(1, 11, 2) # 第三个数为等差值(步长值) 默认不写为1
print(i)
举例:
list(range(1, 11 ,2)) # [1, 3, 5, 7, 9] # 相当于从1开始取 隔2个取一个
切片操作也支持步长值这个参数
range更多例子: