189 8069 5689

Pythonlambda匿名函数,递归应用-创新互联

import os

目前成都创新互联已为1000+的企业提供了网站建设、域名、虚拟主机绵阳服务器托管、企业网站设计、永吉网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

'''
Lambda函数能接收任何数量的参数但只能返回一个表达式的值
匿名函数不能直接调用print,因为lambda需要一个表达式
'''
sum = lambda x, y: x + y
print('x+y=', sum(2, 6))

'''
匿名函数应用
'''

def test_nm(a, b, func):
result = func(a, b)
return result

print(test_nm(20, 30, lambda x, y: x * y))
print(test_nm(20, 30, lambda x, y: x + y))

stus = [{"name": "zs", "age": 20}, {"name": "tom", "age": 32}, {"name": "jack", "age": 19}]

通过匿名lambda函数排序,reverse=True 降序。否则为升序
匿名函数作为参数传递

stus.sort(key=lambda x: x["age"], reverse=True)
print(stus)

递归读取文件目录信息

py_list = []
p_dir = r'E:\2016qBook\2018'
file_name = r'PythonCode'

def read_contain_key_word(parent_dir, file_name, key_word):
full_path = os.path.join(parent_dir, file_name)
if os.path.isdir(full_path):
for f in os.listdir(full_path):
read_contain_key_word(full_path, f, key_word)
else:
if full_path.endswith('.py'):
if read_key_word(full_path, key_word):
py_list.append(full_path)

def read_key_word(full_path, key_word):
read_flag = False
f = open(full_path, 'r', encoding='utf-8')
while True:
line = f.readline()
if line == "":
break
elif key_word in line:
read_flag = True
break
f.close()
return read_flag

read_contain_key_word(p_dir, file_name, 'sort')
print(py_list)

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享标题:Pythonlambda匿名函数,递归应用-创新互联
链接URL:http://cdxtjz.cn/article/ddcggj.html

其他资讯