一, Iterable可迭代类型
1.Iterable的含义
Iterable是指可以被迭代的对象或数据类型,可以通过for循环遍历获取其中的元素。常见的可迭代类型包括字符串、列表、元组、字典和集合等
2.主要用在何处?
主要用在循环里面,表示从中取一定的值
例如:可以用for 循环遍历字符串中的每一个字符
for e in ‘hello’:
print(e)
输出结果为:
可以遍历的一定是内部有多个元素的 一般有字符串,和 range()
二, for两种常见形式
1.for i in range()
遍历的同时,严格按照每个字符对应的顺序
s1 = 'hquhhhqw564564'
#对应每一个的顺序,len()取得字符串s1的长度,然后用s1[i],求出每一个位置代表的字符
for i in range(len(s1)):
print(i,s1[i])
2.for e in ' (字符串) '
简单的从字符串中,取除每一个字符
# 定义e 是字符串s1中的字符,循环依次返沪
for e in s1:
print(e)
三,break与continue
1.break
用于打断它所属的循环的循环
# break 中断循环
# 中断整个循环 杀死整个循环
for i in range(10):
if i == 5:
break
print('简笔龙')
其返回结果为,5次“ 简笔龙 ” 即当i = 0 /1 /2 /3 /4 时,打印,i = 5时break打断整个循环,后续也不再循环
2.continue
用于打断本次循环,不影响下一次以及以后的循环
# continue 结束本轮循环,进入下轮循环
# 中断本轮循环,打死部分循环
for i in range(10):
if i == 5:
continue
print('简笔龙')
当 i = 5时,这次循环不打印,之前以及之后的循环不会受影响
四,for与else
for 和 else结构
用法:如果 for 循环正常执行完毕,则不管 else 的语句了,
如果用来打断循环的break出现且成功执行,则意味着 for 循环被打断,那么则执行 else 语句块,执行 else 循环
举个例子:
# 随机10个数,如果随机到了15就停止,没有随机到15,打印没有随机到
import random
for e in range(10):
value = random.randint(10, 20)
print(value)
if value == 15:
print('目标达成,停止循环')
break
else:
print('没有随机到15')
如果 value = 15了,那么break执行,后面的else不在管,如果随机取的数没有取到15,那么for 循环正常完整的执行完毕,则执行else下的语句块。
五,循环嵌套
循环嵌套,外循环执行一次,内循环执行一轮
count = 0
for i in range(2):
print('龙崽睡得劲了')
for j in range(3):
print('龙崽没睡着')
for k in range(3):
print('龙崽睡迷糊了')
count += 1
print(count)
这里嵌套了三个循环,结果是输出2*3*3=18次