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))
break_flag = False for i in range(10): print('--->A层', i) for j in range(10): print('------>B层', j) if j == 3: break_flag = True break for k in range(10): print('--------->C层', k) if k == 3: break_flag = True break if break_flag: break if break_flag: # if break_flag == True print('C层结束,那都结束吧') break print('keep going ......') ''' --->A层 0 ------>B层 0 --------->C层 0 --------->C层 1 --------->C层 2 --------->C层 3 C层结束,那都结束吧 keep going ...... '''
while
break_flag = False count = 0 while break_flag == False: print('--->爷爷层') while break_flag == False: print('------>爸爸层') while break_flag == False: count += 1 if count > 3: break_flag = True print('-------->最后一层') print('keep going .......') ''' --->爷爷层 ------>爸爸层 -------->最后一层 -------->最后一层 -------->最后一层 -------->最后一层 keep going ....... '''
三 九九乘法
# -----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
i = 0 j = 0 while i < 9: i += 1 while j < 9: j += 1 print(j, '*', i, '=', i * j, end='\t') if i == j: print('') j = 0 break

浙公网安备 33010602011771号