博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python之匿名函数,循环
阅读量:4476 次
发布时间:2019-06-08

本文共 2764 字,大约阅读时间需要 9 分钟。

一 匿名函数

定义:

 

匿名就是没有名字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))

 

1 break_flag = False 2  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             break13 14 15         for k in range(10):16             print('--------->C层',k)17             if k == 3:18                 break_flag = True19                 break20 21         if break_flag:22             break23 24     if break_flag:  #if break_flag == True25         print('C层结束,那都结束吧')26         break27 28 print('keep going ......')
for 多层

 

###运行结果--->A层 0------>B层 0--------->C层 0--------->C层 1--------->C层 2--------->C层 3C层结束,那都结束吧keep going ......

 

while

1 break_flag = False 2  3 count = 0 4 while break_flag == False: 5     print('--->爷爷层') 6  7     while break_flag == False: 8         print('------>爸爸层') 9 10         while break_flag == False:11             count += 112             if count > 3:13                 break_flag = True14 15             print('-------->最后一层')16 17 18 print('keep going .......')
while 多层
###运行结果--->爷爷层------>爸爸层-------->最后一层-------->最后一层-------->最后一层-------->最后一层keep going .......

 

三 九九乘法表

for #-----1for i in range(1, 10):    for j in range(1, i + 1):        print(j, 'x', i, '=', i * j , end='\t')    print()#-----2for 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 = 0j = 0while i<9:    i+=1    while j<9:        j+=1        print(j,'*',i,'=',i*j,end='\t')        if i == j:            print('')            j=0            break

 

 

 

补充:

i = 0for i in range(5):    j = 0    flag = True    while j < 3:        print(i,j)        j += 1        if i==j:            flag = False            break    if flag == False:        break##结果0 00 10 21 0
1

 

def test4():    a = 1    yield a    b = 1    yield b    while True:        c = a+b        yield c        a = b        b = cl = test4()print(l.__next__())     #1print(l.__next__())     #1print(l.__next__())     #2print(l.__next__())     #3print(l.__next__())     #5print(l.__next__())     #8
2

 

转载于:https://www.cnblogs.com/zhaochangbo/p/6705530.html

你可能感兴趣的文章
mac 安装php redis扩展
查看>>
css3中Animation
查看>>
JS 判断是否是手机端并跳转操作
查看>>
最短路径问题(dijkstra-模板)
查看>>
c# 导出表格 api
查看>>
使用Android NDK以及JNI编写应用
查看>>
学习笔记之-php数组数据结构
查看>>
初学者--bootstrap(六)组件中的下拉菜单----在路上(10)
查看>>
QMetaObject::connectSlotsByName 总结
查看>>
app图标
查看>>
Android 微信支付步骤
查看>>
js操作table
查看>>
JQuery学习系列篇(一)
查看>>
Centos7 minimal 系列之rabbitmq安装(八)
查看>>
英语语法(2)----点破主谓宾系表三大句型
查看>>
html如何与cgi数据交换,HTML网页与CGI之间通信的 实例分析
查看>>
html如何调用flash插件,htmlflash播放器插件如何播放 网页播放器flash插件怎么解决...
查看>>
mysql数据在html上面显示不出来的,HTML表格不能正确显示MySQL数据
查看>>
数据包和html,数据包和数据报有何区别?
查看>>
jq 异步调用一个html,聊聊如何将jQuery的$.ajax()用于异步HTTP请求
查看>>