def func(): print('from func') func() func() func() print(func)
f = lambda x: x+1 res = f(1) print(res) # 1
salary_dict = { 'nick': 3000, 'jason': 100000, 'tank': 5000, 'sean': 2000 } print(f"max(salary_dict): {max(salary_dict)}") # max(salary_dict): tank
1.若是咱們想對上述字典中的人,按照薪資從大到小排序,能夠使用sorted()方法。python
1.首先將可迭代對象變成迭代器對象 2.res=next(迭代器對象),將res當作參數傳給key指定的函數,而後將該函數的返回值當作判斷依據 salary_dict = { 'nick': 3000, 'jason': 100000, 'tank': 5000, 'sean': 2000 } salary_list = list(salary_dict.items()) print(salary_list) # [('nick', 3000), ('jason', 100000), ('tank', 5000), ('sean', 2000)] def func(i): # i = ('sean', 2000), ('nick', 3000),('tank', 5000),('jason', 100000) return i[1] # 2000,3000,5000,100000 salary_list.sort(key=lambda i: i[1]) # 內置方法是對原值排序 # # 按照func的規則取出一堆元素2000,3000,5000,100000 # # 而後按照取出的元素排序 # print(salary_list) new_salary_list = sorted(salary_list, key=lambda i: i[1], reverse=True) # 從新建立一個新的列表進行排序 print(new_salary_list) # [('jason', 100000), ('tank', 5000), ('nick', 3000), ('sean', 2000)]
2.若是咱們想從上述字典中取出薪資最高的人,咱們能夠使用max()方法,可是max()默認比較的是字典的key。函數
1.首先將可迭代對象變成迭代器對象 2.res=next(迭代器對象),將res當作參數傳給key指定的函數,而後將該函數的返回值當作判斷依據 salary_dict = { 'nick': 3000, 'jason': 100000, 'tank': 5000, 'sean': 2000 } salary_list = list(salary_dict.items()) print(salary_list) # [('nick', 3000), ('jason', 100000), ('tank', 5000), ('sean', 2000)] print(max(salary_list,key=lambda i:i[1])) print(min(salary_list,key=lambda i:i[1]))
3.若是咱們想對一個列表中的某我的名作處理,能夠使用map()方法。code
1.首先將可迭代對象變成迭代器對象 2.res=next(迭代器對象),將res當作參數傳給key指定的函數,而後將該函數的返回值當作判斷依據 salary_dict = { 'nick': 3000, 'jason': 100000, 'tank': 5000, 'sean': 2000 } salary_list = list(salary_dict.items()) print(list(map(lambda i: i[1] + 2000, salary_list)))
4..若是咱們想篩選工資大於5000的人,咱們能夠使用filter()方法對象
1.首先將可迭代對象變成迭代器對象 2.res=next(迭代器對象),將res當作參數傳給key指定的函數,而後將該函數的返回值當作判斷依據 salary_dict = { 'nick': 3000, 'jason': 100000, 'tank': 5000, 'sean': 2000 } salary_list = list(salary_dict.items()) print(list(filter(lambda i: i[1] >5000, salary_list)))