标签:rabl 匿名 price 自动 类型 传递 多个参数 组合 acm
语法: 函数名 = lambda 参数:返回值
f = lambda n: n ** 2 print(f(10)) # 100
print(f.__name__) # <lambda>
注:匿明函数并不是说一定没有名字。上面f就是一个函数名。说他是匿明原因是通过__name__查看的时候是没有名字的。统一叫lambda。在调用时没有特别之处,像正常函数调用即可。
语法:sorted(Iterable, key=None, reverse=False)
lst = [1, 4, 6, 8, 4, 9, 10] print(sorted(lst)) # [1, 4, 4, 6, 8, 9, 10]
与函数组合使用
lst = [ {"name": "电脑", "price": 6000}, {"name": "手表", "price": 4000}, {"name": "耳机", "price": 1000} ] def func(dic): return dic["price"] print(sorted(lst, key=func)) 结果: [{‘name‘: ‘耳机‘, ‘price‘: 1000}, {‘name‘: ‘手表‘, ‘price‘: 4000}, {‘name‘: ‘电脑‘, ‘price‘: 6000}]
与lambda组合使用
lst = [ {"name": "电脑", "price": 6000}, {"name": "手表", "price": 4000}, {"name": "耳机", "price": 1000} ] print(sorted(lst, key=lambda dic:dic["price"])) 结果: [{‘name‘: ‘耳机‘, ‘price‘: 1000}, {‘name‘: ‘手表‘, ‘price‘: 4000}, {‘name‘: ‘电脑‘, ‘price‘: 6000}]
语法:filter(function, Iterable)
portfolio = [ {‘name‘: ‘IBM‘, ‘shares‘: 100, ‘price‘: 91.1}, {‘name‘: ‘AAPL‘, ‘shares‘: 50, ‘price‘: 543.22}, {‘name‘: ‘FB‘, ‘shares‘: 200, ‘price‘: 21.09}, {‘name‘: ‘HPQ‘, ‘shares‘: 35, ‘price‘: 31.75}, {‘name‘: ‘YHOO‘, ‘shares‘: 45, ‘price‘: 16.35}, {‘name‘: ‘ACME‘, ‘shares‘: 75, ‘price‘: 115.65} ] lst = list(filter(lambda dic: dic["price"] > 100, portfolio)) print(lst) 结果: [{‘name‘: ‘AAPL‘, ‘shares‘: 50, ‘price‘: 543.22}, {‘name‘: ‘ACME‘, ‘shares‘: 75, ‘price‘: 115.65}
语法:map(function, Iterable)
lst1 = [1, 2, 3, 4, 5] lst2 = [2, 4, 6, 8, 10] print(list(map(lambda x, y: x + y, lst1, lst2))) 结果: [3, 6, 9, 12, 15]
标签:rabl 匿名 price 自动 类型 传递 多个参数 组合 acm
原文地址:https://www.cnblogs.com/ipython-201806/p/9911241.html