匿名函數和幾個和匿名函數相互合作
阿新 • • 發佈:2018-10-17
作業 code NPU != 行為 一個 lines 偶數 根據
匿名函數 lambda
函數體: lambda 參數: 返回值
1 ret = lambda x :x*2 2 print(ret(2))
和匿名函數相互合作多的內置函數
1.map ---------根據參數,改變返回值
1 例子:有一個列表【‘a’,‘b‘,‘c‘】使用匿名函數把裏面的參數都加上一個_sb例如 2 a_sb 3 4 l = [‘a‘, ‘b‘, ‘c‘] 5 ret = map(lambda x: x + ‘_sb‘, l) 6 print(list(ret))
2.filter---------帥選
1 例子:有一個數字【1,2,3,4,5,6,67,78,】使用匿名函數求偶數3 l =【1,2,3,4,5,6,67,78,】 4 ret = filter(lambda x: x % 2 == 0, l) 5 print(list(ret))
作業:
1.有個文件,裏面總共有20多行,每5行為一頁,根據用戶輸入的頁數,返回指 定頁數的行數 with open(‘file‘, encoding=‘utf-8‘)as f: 讀取文件 ret = f.readlines() 一條一條的讀 pan_num = int(input(‘請輸入要顯示的頁數‘)) 獲取用戶輸入的頁數,轉換為int類型 pan, num= divmod(len(ret), 5) 使用取余函數, if num: pan +=1 如果有余數,頁數+1 if pan_num >pan: print(‘輸入的頁數錯誤‘) elif pan_num ==pan and num !=0: 如果用戶輸入的頁數等於文本頁數並且余數不為0 for i in range(num): 這裏range的是余數,因為只有輸出余數,print(ret[(pan_num-1)*5+i].strip()) else: for i in range(5): range 5 因為一頁是5行 print(ret[(pan_num-1)*5+i].strip())
匿名函數和幾個和匿名函數相互合作