溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python lambda匿名函數,遞歸應用

發(fā)布時間:2020-07-05 06:09:15 來源:網絡 閱讀:550 作者:zjy1002261870 欄目:編程語言

import os

'''
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)

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI