Python - For、While循环 推导式 公共方法
<!-- [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}