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 ......
'''
for 多层循环

 

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 .......
'''
while 多层

 

三 九九乘法

# -----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
for 方式
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
while 方式

 

posted @ 2018-04-26 13:11  shadow3  阅读(573)  评论(0)    收藏  举报