python(day16)内置函数,匿名函数
2018-11-06 06:49:40来源:博客园 阅读 ()
# add = lambda x,y:x+y # print(add(1,2)) # dic={'k1':10,'k2':100,'k3':30} # def func(key): # return dic[key] # print(max(dic,key=func)) #根据返回值判断最大值,返回值最大的那个参数是结果 # print(max(dic,key=lambda key:dic[key])) # max([1,2,3,4,5,-6,-7],key=abs)
匿名函数基本格式: func= lambda i : ret # i 是形参,ret 是返回值
func() #调用匿名函数
#现有两元组(('a'),('b')),(('c'),('d')), # 请使用python中匿名函数生成列表[{'a':'c'},{'b':'d'}] 解决思路:首先用拉链ZIP方法先排好两个元祖,然后联想到有关的内置函数,再将字典变成列表类型输出 # max min sorted filter map !和匿名函数有关联的5个内置函数考点 # 匿名函数 == 内置函数 # zip 拉链排序方法,内置函数之一 # ret = zip((('a'),('b')),(('c'),('d'))) # res = map(lambda tup:{tup[0]:tup[1]},ret) # print(list(res)) # def multipliers(): # return [lambda x:i*x for i in range(4)] # print([m(2) for m in multipliers()])
内置函数:
1.reverse(注意,都是返回的贴带起,如果想看内容,就要用for方法)
# reversed() # l = [1,2,3,4,5] # l.reverse() # print(l) # l = [1,2,3,4,5] # l2 = reversed(l) # print(l2) # 保留原列表,返回一个反向的迭代器
2.slice,format
# l = (1,2,23,213,5612,342,43) # sli = slice(1,5,2) # print(l[sli]) # print(l[1:5:2]) # print(format('test', '<20')) # print(format('test', '>40')) # print(format('test', '^40'))
3.bytes,bytearray
#bytes 转换成bytes类型 # 我拿到的是gbk编码的,我想转成utf-8编码 # print(bytes('你好',encoding='GBK')) # unicode转换成GBK的bytes # print(bytes('你好',encoding='utf-8')) # unicode转换成utf-8的bytes # 网络编程 只能传二进制 # 照片和视频也是以二进制存储 # html网页爬取到的也是编码 # b_array = bytearray('你好',encoding='utf-8') # print(b_array) # print(b_array[0]) # '\xe4\xbd\xa0\xe5\xa5\xbd' # s1 = 'alexa' # s2 = 'alexb'
# 切片 —— 字节类型 不占内存
# 字节 —— 字符串 占内存
4.ord,unicode转换为数字表示,chr,数字转换为unicode表示
# print(ord('好')) # print(ord('1')) # print(chr(97))
5.repr,完全复制
# print('你好%r'%name) # print(repr('1')) # print(repr(1))
6.all,有一个false,则返回false, any有一个true,则返回true
# print(all(['a','',123])) # print(all(['a',123])) # print(all([0,123])) # print(any(['',True,0,[]]))
7.5个超重要函数,zip(拉链) ,filter(筛选) , map(遍历) ,sort (在原列表排序), sorted(生成新列表),
# l = [1,2,3,4,5] # l2 = ['a','b','c','d'] # l3 = ('*','**',[1,2]) # d = {'k1':1,'k2':2} # for i in zip(l,l2,l3,d): # print(i)
# from math import sqrt # def func(num): # res = sqrt(num) # return res % 1 == 0 # ret = filter(func,range(1,101)) # for i in ret: # print(i) # ret = map(abs,[1,-4,6,-8]) # print(ret) # for i in ret: # print(i) # filter 执行了filter之后的结果集合 <= 执行之前的个数 #filter只管筛选,不会改变原来的值 # map 执行前后元素个数不变 # 值可能发生改变 # l = [1,-4,6,5,-10] # # l.sort(key = abs) # 在原列表的基础上进行排序 # # print(l) # # print(sorted(l,key=abs,reverse=True)) # 生成了一个新列表 不改变原列表 占内存 # print(l) # l = [' ',[1,2],'hello world'] # new_l = sorted(l,key=len) # print(new_l)
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_字符串方法 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash