python匿名函数里用for_Python之匿名函数,循环

一 匿名函数

定义:

匿名就是没有名字lambda x,y,z:x+y+z #与函数有相同的作用域,但是匿名意味着引用计数为0,使用一次就释放,除非让其有名字

(lambda x,y,z:x+y+z)(1,2,3)

有名与匿名的对比:

#有名函数与匿名函数的对比

有名函数:循环使用,保存了名字,通过名字就可以重复引用函数功能

匿名函数:一次性使用,随时随时定义

应用:max,min,sorted,map,reduce,filter

二 多层循环跳出

for

for 循环提供了python中最强大的循环结构(for循环是一种迭代循环机制,而while循环是条件循环,迭代即重复相同的逻辑操作,每次操作都是基于上一次的结果,而进行的)

遍历序列类型:

letter_list = ['a','b','c','d']

#通过序列项迭代

for i in letter_list:

print(i)

#通过序列索引迭代

for i in range(len(letter_list)):

print('index is {},letter is {}'.format(i,letter_list[i]))

#基于enumerate的 项和索引

for i,letter in enumerate(letter_list,1): # 1,代表索引 从1,开始

print('index is {},letter is {}'.format(i,letter))

ContractedBlock.gif

ExpandedBlockStart.gif

1 break_flag =False2

3 for i in range(10):4

5 print('--->A层',i)6

7 for j in range(10):8 print('------>B层',j)9

10 if j == 3:11 break_flag =True12 break

13

14

15 for k in range(10):16 print('--------->C层',k)17 if k == 3:18 break_flag =True19 break

20

21 ifbreak_flag:22 break

23

24 if break_flag: #if break_flag == True

25 print('C层结束,那都结束吧')26 break

27

28 print('keep going ......')

for 多层

###运行结果

--->A层 0

------>B层 0

--------->C层 0

--------->C层 1

--------->C层 2

--------->C层 3

C层结束,那都结束吧

keep going ......

while

ContractedBlock.gif

ExpandedBlockStart.gif

1 break_flag =False2

3 count =04 while break_flag ==False:5 print('--->爷爷层')6

7 while break_flag ==False:8 print('------>爸爸层')9

10 while break_flag ==False:11 count += 1

12 if count > 3:13 break_flag =True14

15 print('-------->最后一层')16

17

18 print('keep going .......')

while 多层

###运行结果

--->爷爷层

------>爸爸层

-------->最后一层

-------->最后一层

-------->最后一层

-------->最后一层

keep going .......

三 九九乘法表

for

#-----1

for i in range(1, 10):for j in range(1, i + 1):print(j, 'x', i, '=', i * j , end='\t')print()#-----2

for i in range(1,10):for j in range(1,10):print(j,'x',i,'=',i*j,end='\t')if i ==j:print('')break

while

i =0

j=0while i<9:

i+=1

while j<9:

j+=1

print(j,'*',i,'=',i*j,end='\t')if i ==j:print('')

j=0break

补充:

ContractedBlock.gif

ExpandedBlockStart.gif

i =0for i in range(5):

j=0

flag=Truewhile j < 3:print(i,j)

j+= 1

if i==j:

flag=Falsebreak

if flag ==False:break

##结果

0 0

0102

1 0

1

ContractedBlock.gif

ExpandedBlockStart.gif

deftest4():

a= 1

yielda

b= 1

yieldbwhileTrue:

c= a+byieldc

a=b

b=c

l=test4()print(l.__next__()) #1

print(l.__next__()) #1

print(l.__next__()) #2

print(l.__next__()) #3

print(l.__next__()) #5

print(l.__next__()) #8

2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值