<!-- [toc] -->

For循环

相当于foreach语句

可以遍历 字符串 列表 元组 语法

语法

#遍历 字符串 列表 元组 语法
for i in 列表:
    print(i)

跳出语句

  • Break 结束循环
  • continue 结束本次循环

for else

如果用了Break 则不执行else的代码

用continue 就执行else的代码

for i in 列表:
    #执行代码
else:
    #循环正常结束的代码

while循环

  • 相比for循环的特点

    • 不断运行 直到条件不符合退出
    • while同样也有else continue break语句

语句块

i = 1 
while(i<=100):
    print(i)
    i += 1
else:
    print('循环结束啦')

公共方法

  • len()计算元素长度 ,个数
  • del()del关键字 删除元素
  • max()最大值
  • min()最小值
  • range() 遍历语句 range(开始下标,结束下标,步长)
  • enumerate(列表,起始编号=0)

    • 遍历返回(编号,数据) 返回是元组的方式。
    for i,j in enumerate(a,1):
        print(f'下标{i},数据{j}')

推导式

通常用来简化代码

列表推导式

c = [i for i in range(11) if i%2 == 0]
列表中for循环的每一次的值,都会放到最前面的变量 i 中。

#创建从0-10的列表 普通方法
a=[]
for i in range(11):
    a.append(i)#向尾部追加数据
    
#列表推导式 将i后面的过程放到i中
b = [i for i in range(11)]

#列表推导式 步长为2 结果为0 2 4 6 8 10
c = [i for i in range(0,11,2)]

#第二种方法 后面有if语句 余数为零(偶数) if为True时 放到第一个 i 中
c = [i for i in range(11) if i%2 == 0]
#  存到i    for循环

字典推导式

可以快速合并列表为字典

maxvar = {x:y for x,y in a.items() if y>200}
同列表推导式,for循环中的每一次值,都会放到前面 x:y 中。

a1=["a",'b','c','d']
b1=[123,456,789,321]
#遍历短的那个
c = {a1[i]:b[i] for i in range(len(a1))}
c = {a1[i]:b[i] for i in range(4)}
#提取列表中目标数据
a = {'a1':123,'b1':234,'c1':345,'d1':456}
maxvar = {x:y for x,y in a.items() if y>200}
#遍历结束后还是字典 键值对的形式出现

集合推导式

同以上两个推导式i for i in c
都是使用for循环遍历循环叠加带入。

c = [2,3,4,4,5,5]
d = {i ** 3 for i in c} #求三次方
d = {i for i in c}