python 函数 装饰器 内置函数

函数 装饰器 内置函数

一.命名空间和作用域

 二.装饰器

1.无参数

2.函数有参数

3.函数动态参数

 4.装饰器参数 

 三.内置函数

 1 salaries={
 2     'egon':3000,
 3     'alex':100000000,
 4     'wupeiqi':10000,
 5     'yuanhao':250
 6 }
 7 print(sorted(salaries)) #默认是按照字典salaries的key去排序的
 8   
 9 print(sorted(salaries,key=lambda x:salaries[x]))
10 
11 sorted
sorted
 1 l1=[1,2,3,4]
 2 s='hel'
 3 for i in zip(l1,s):
 4     print(i)
 5 ------------输出结果-------
 6 (1, 'h')
 7 (2, 'e')
 8 (3, 'l')
 9  
10  
11  
12 salaries={
13     'egon':3000,
14     'alex':100000000,
15     'wupeiqi':10000,
16     'yuanhao':250
17 }
18  
19 z=list(zip(salaries.values(),salaries.keys()))
20 ------------输出结果-------
21 [(3000, 'egon'), (100000000, 'alex'), (250, 'yuanhao'), (10000, 'wupeiqi')]
22 
23 zip
zip
 1 #max
 2  
 3 salaries={
 4     'egon':3000,
 5     'alex':100000000,
 6     'wupeiqi':10000,
 7     'yuanhao':250
 8 }
 9  
10 print(max(salaries,key=lambda k:salaries[k]))
11 ------------输出结果-------
12 alex
13 
14 max
max
 1 #enumerate
 2  
 3 for i in enumerate(['a','b','c','d']):
 4     print(i)
 5 ------------输出结果-------
 6 (0, 'a')
 7 (1, 'b')
 8 (2, 'c')
 9 (3, 'd')
10 
11 enumerate
enumerate
 1 #map
 2  
 3 #用map来处理字符串列表啊,把列表中所有人都变成sb,比方alex_sb
 4 name=['alex','wupeiqi','yuanhao']
 5  
 6 name_new = list(map(lambda i: i + '_sb', name))
 7  
 8  
 9 #用map来处理下述l,然后用list得到一个新的列表,列表中每个人的名字都是sb结尾
10 l=[{'name':'alex'},{'name':'y'}]
11  
12 l = list(map(lambda x:x["name"] + "sb",l))
13 
14 map
map
 1 #用filter来处理,得到股票价格大于20的股票名字
 2 shares={
 3     'IBM':36.6,
 4     'Lenovo':23.2,
 5     'oldboy':21.2,
 6     'ocean':10.2,
 7 }
 8  
 9 shares = list(filter(lambda x:shares[x] >20,shares))
10  
11  
12 #filter
13  
14 #如下,每个小字典的name对应股票名字,shares对应多少股,price对应股票的价格
15 portfolio = [
16     {'name': 'IBM', 'shares': 100, 'price': 91.1},
17     {'name': 'AAPL', 'shares': 50, 'price': 543.22},
18     {'name': 'FB', 'shares': 200, 'price': 21.09},
19     {'name': 'HPQ', 'shares': 35, 'price': 31.75},
20     {'name': 'YHOO', 'shares': 45, 'price': 16.35},
21     {'name': 'ACME', 'shares': 75, 'price': 115.65}
22 ]
23  
24 #用filter过滤出,单价大于100的股票有哪些
25  
26 name = list(filter(lambda x:x["price"] > 100,portfolio))
27 print(name)
28 
29 filter
filter
1 s=[1,"h",2,"e",[1,2,3],"l",(4,5),"l",{1:"111"},"o"]
2 
3 from functools import reduce
4 print(reduce(lambda x,y:x+y,[s[i] for i in range(len(s)) if i % 2 == 1]))
5 ------------------输出结果----
6 hello
7 
8 reduce
reduce

转载于:https://www.cnblogs.com/guobaoyuan/p/7087616.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值