热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

pythonmapfilter_Python高级函数map,filter,zip,enumerate等的用法

今天看自然语言处理这本书的时候,被这里的高级函数的概念吸引了,因为我觉得所有的函数都只是函数而已,是为了实现特定功能而实现的,

今天看自然语言处理这本书的时候,被这里的高级函数的概念吸引了,因为我觉得所有的函数都只是函数而已,是为了实现特定功能而实现的,不应该有高级,低级之分啊!不过了解之后,发现这几个函数确实是有点高级,非常好用,所以在这里做一个简单的总结。

1. Haskell:之前以为它是一个函数,其实它是一个统称。Haskell 中的函数可以作为参数和回传值传来传去,这样的函数就被称作高阶函数。

2. map(function, list): 就是对list 中的每一个元素都调用function函数进行处理,返回一个新的列表

1 >>> d=[1,2,3]2 >>> deff(s):3 ... return s*100

4 ...5 >>>map(f,d)6 [100, 200, 300]

3. filter(function, list): 对list中的每一个元素都调用function进行判断,返回满足条件的元素列表。感觉它跟map很像,是的,但也有细微的差别,看下面代码就知道了。

1 >>> filter(lambda x: x>2, d)2 [3]3 >>>filter(f, d)4 [1, 2, 3]5 >>> map(lambda x: x>2, d)6 [False, False, True]7 >>> deff1(s):8 ... s=s*120

9 ...10 >>>map(f1, d)11 [None, None, None]

4. zip([iterable, ...])

zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表)。若传入参数的长度不等,则返回list的长度和参数中长度最短的对象相同。利用*号操作符,可以将list unzip(解压)

1 >>> a = [1,2,3]2 >>> b = [4,5,6]3 >>> c = [4,5,6,7,8]4 >>> zipped =zip(a,b)5 [(1, 4), (2, 5), (3, 6)]6 >>>zip(a,c)7 [(1, 4), (2, 5), (3, 6)]8 >>> zip(*zipped)9 [(1, 2, 3), (4, 5, 6)]

5. enumerate(s):返回一个包含索引及索引处所在项目的配对。

1 >>>enumerate(d)2

3 >>>list(enumerate(d))4 [(0, 1), (1, 2), (2, 3)]



推荐阅读
author-avatar
wentingcool_533
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有