python
苦逼的程序狗
这个作者很懒,什么都没留下…
展开
-
python生成器
通过列表生成式可以直接创建一个列表。但是,受到内存限制,列表容量是有限的。如果我们只需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。有没有一种办法,可以不必创建完整的列表,而我们需要访问的元素,可以通过一边循环一边计算的机制得到?答案是肯定的。在Python中,这种一边循环一边计算的机制,称为生成器:generator。创建generator的方法:(一)将列表生成式中的 [...转载 2018-09-30 12:46:20 · 175 阅读 · 0 评论 -
Python中的迭代器
可以直接作用于for循环的数据类型有以下几种:一类是集合数据类型,如list、tuple、dict、set、str等;一类是generator,包括生成器和带yield的生成器函数。这些可以直接作用于for循环的对象统称为可迭代对象(Iterable)。Python的for循环本质上就是通过不断调用next()函数实现的可以使用isinstance()判断一个对象是否是可迭代对象:fr...转载 2018-09-30 12:46:03 · 119 阅读 · 0 评论 -
python中的map()函数和reduce()函数
map()函数的用法:map(函数function_name, 可迭代对象Iterable)map()函数接受两个参数,一个是函数,一个是可迭代对象。map()函数将传入的函数一次作用在序列的每一个元素,并把结果作为新的可迭代对象返回。举例说明,比如我们有一个函数f(x)=x2,要把这个函数作用在一个list [1, 2, 3, 4]上,就可以用map()实现如下:def f(x)...转载 2018-09-30 12:45:37 · 208 阅读 · 0 评论 -
python中的filter()函数
转载于廖雪峰的python3教程Python内建的filter()函数用于过滤序列。filter()的用法类似map()函数,也是接收一个函数和一个序列。和map()函数不同的是,filter() 函数把传入的函数依次作用于每一个元素,然后根据返回值是True还是False决定保留还是舍弃该元素。#删除一个序列中的空字符串def not_empty(s): return s and ...转载 2018-09-30 13:00:27 · 203 阅读 · 0 评论 -
python中的匿名函数
关键字lambda表示匿名函数lambda x: x * x等价于def f(x): return x * x转载 2018-09-30 14:34:43 · 108 阅读 · 0 评论 -
python装饰器
python装饰器是用于拓展原来函数功能的一种函数,这个函数的特殊之处在于,它的返回值也是一个函数。使用python装饰器的好处是可以在不用更改原代码的基础上给函数增加新的功能。例如,我们有这样一个原始函数:import timedef func(): print('hello') time.sleep(1) print('world') 我们想要算出这个程序运...转载 2018-09-30 15:31:43 · 89 阅读 · 0 评论