Python(8): Lambda,列表解析器,生成器表达式,range函数
2017-02-28 15:43
579 查看
看到这里,我觉得之前的几个文章里面的内容,如果熟悉了就算是入门了。之后的内容,很多都是用到了才需要。
甚至很多内容只是提高效率来用的,完全可以通过基础的东西做出来。
作为一个初学者,知其然就可以了,不必强求所以然。
这个时候,应该去下载别人的一些代码来看看,自己修改,手动做一做是最好的学习。
不过我早就不是初学者了,所以继续往下走走,再去练习。
或者这是强迫症吧。
Lambda:一种简单的匿名函数。C++也有类似的东西。
lambda与filter的配合
lambda与map的配合
列表解析:返回的是一个列表list,用[]包着
语法:[expr for iter_var in iterable] 或 [expr for iter_var in iterable if cond_expr]
生成器表达式:用()包着
语法:(expr for iter_var in iterable) 或 (expr for iter_var in iterable if cond_expr)
列表解析是比较早的Python版本里就引进的(好像是2.0版本),而生成器表达式则是在2.4中引入的新内容,它和列表解析的语法很像,但是在大 数据量处理时,生成器表达式的优势就体现出来了,因为它的内存使用方式更好,效率更高,它并不创建一个列表,只是返回一个生成器。当然,列表解析并不会被 遗弃。
迭代器range函数
getopt模块,从命令行中得到选项
getopt.getopt
getopt.gnu_getopt
甚至很多内容只是提高效率来用的,完全可以通过基础的东西做出来。
作为一个初学者,知其然就可以了,不必强求所以然。
这个时候,应该去下载别人的一些代码来看看,自己修改,手动做一做是最好的学习。
不过我早就不是初学者了,所以继续往下走走,再去练习。
或者这是强迫症吧。
Lambda:一种简单的匿名函数。C++也有类似的东西。
lambda与filter的配合
>>> a = [1,2,3,4,5,6,7,8,9,0] >>> b = filter(lambda x: x%2 == 0, a) # 过滤出双数 >>> print(*b) 2 4 6 8 0
lambda与map的配合
>>> c = map(lambda x: "xxxxx " + str(x) +"\n", a) >>> print(*c) xxxxx 1 xxxxx 2 xxxxx 3 xxxxx 4 xxxxx 5 xxxxx 6 xxxxx 7 xxxxx 8 xxxxx 9 xxxxx 0 >>> a = [[1,2,3],[3,4,7],[8897,3,999]] >>> c = map(lambda list: [list[1],list[0],list[2]], a) >>> print(*c) [2, 1, 3] [4, 3, 7] [3, 8897, 999]lambda只能执行一个简单的表达式,复杂的东西是做不了的
列表解析:返回的是一个列表list,用[]包着
语法:[expr for iter_var in iterable] 或 [expr for iter_var in iterable if cond_expr]
>>> a = [1,2,3,4,5,6,7,8,9,0] >>> [x for x in a] [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] >>> [x for x in a if x % 2 == 0] [2, 4, 6, 8, 0]
生成器表达式:用()包着
语法:(expr for iter_var in iterable) 或 (expr for iter_var in iterable if cond_expr)
列表解析是比较早的Python版本里就引进的(好像是2.0版本),而生成器表达式则是在2.4中引入的新内容,它和列表解析的语法很像,但是在大 数据量处理时,生成器表达式的优势就体现出来了,因为它的内存使用方式更好,效率更高,它并不创建一个列表,只是返回一个生成器。当然,列表解析并不会被 遗弃。
>>> (i + 1 for i in range(10) if i % 2) <generator object <genexpr> at 0x011DC5D0>
迭代器range函数
>>> range(1,5) #代表从1到5(不包含5) [1, 2, 3, 4] >>> range(1,5,2) #代表从1到5,间隔2(不包含5) [1, 3] >>> range(5) #代表从0到5(不包含5) [0, 1, 2, 3, 4]
getopt模块,从命令行中得到选项
getopt.getopt
getopt.gnu_getopt
相关文章推荐
- Python里有趣的列表解析和生成器表达式
- Python列表推导式和生成器表达式
- Python列表解析和生成器表达式
- python 列表表达式和生成器表达式
- python基础----列表生成式、生成器表达式
- python整理十——生成器表达式与列表解析
- python生成器表达式和列表解析
- Python - 列表解析式/生成器表达式
- Python里有趣的列表解析和生成器表达式
- Python列表解析与生成器表达式
- 【python】对列表的过滤, 列表解析,生成器表达式
- python 中的列表解析和生成器表达式
- 零基础学python-19.8 生成器表达式:当迭代器遇上列表解析
- python基础之协程函数、列表表达式、生成器表达式
- 004_002 Python 列表推导 列表函数调用 生成器表达式 生成列表
- Python 列表解析和生成器表达式
- Python基础:08列表解析与生成器表达式
- 零基础学python-19.8 生成器表达式:当迭代器遇上列表解析
- Py修行路 python基础 (十二) 协程函数应用 列表生成式 生成器表达式
- Python基础-列表生成式和生成器表达式