匿名函数3(实战)

2021-01-12  本文已影响0人  闲云野鹤_23dd

匿名函数3(实战)

接下来学习 : max,min,sorted,map,reduce,filter .这些函数可以对复杂list 和 字典 的数据 进行处理. 都需要用到匿名函数.

max

求最大值

def max_demo():
    alist = [-9, -8, 1, 3, -4, 6]
    # 求最大值
    print(max(alist))

## 求绝对值的最大值
tmp = max(a, key=lambda x: abs(x))
print(tmp)` 


 salaries={
'egon':3000,
'alex':100000000,
'wupeiqi':10000,
'yuanhao':2000
}

info = [
{'name': 'egon', 'age': '18', 'salary': '3000'},
{'name': 'wxx', 'age': '28', 'salary': '1000'},
{'name': 'lxx', 'age': '38', 'salary': '2000'}
]

def get(k):
    return salaries[k]

def max_demo2():
    # 求salaries中工资最高的人
    print(max(salaries, key=get))  # 'alex'
    print(max(salaries, key=lambda x: salaries[x]))
    # 求info中工资最高的人
    print(max(info, key= lambda dic: int( dic['salary'] )))` 

min

求最小值

def min_demo():
    # 求salaries中工资最低的人
    print(min(salaries, key=get))
     print(min(salaries, key=lambda x: salaries[x]))
    # 求info中工资最低的人
    print(min(info, key=lambda dic: int(dic['salary'])))` 

sorted

排序

def sorted_demo():
  key_up=sorted(salaries) # 默认按照字典的键排序
  print(key_up)
  up=sorted(salaries,key=lambda x:salaries[x])  #默认是升序排
  print(up)

  down=sorted(salaries,key=lambda x:salaries[x],reverse=True) #降序
  print(down)

  l = sorted(info, key=lambda dic: int(dic['salary']))
  print(l)` 

map

让每个元素作为参数,执行一个函数

例子:

   def map_demo():
      v1 = [11, 22, 33, 44]
     # 将元素的每个值加100
      result = map(lambda x: x + 100, v1)  # 第一个参数为执行的函数,第二个参数为可迭代元素.
      print(list(result))  # [111,122,133,144]

names=['alex','wupeiqi','yuanhao','egon']
# 给名字做拼接
res=map(lambda x:x+'_A' if x == 'egon' else x + '_B',names)
print(list(res))`
上一篇 下一篇

猜你喜欢

热点阅读