摘要:
Python中的map()和reduce() Python内建了map()和reduce()函数。 map() map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。 举例说明,有一个函数f(x)=X^2,要把这个函数作用在一个 阅读全文
摘要:
Higher-order function(高阶函数) 变量可以指向函数 以Python内置的求绝对值的函数abs()为例,调用该函数用以下代码: 但是,如果只写abs呢? 可见,abs(-10)是函数调用,而abs是函数本身。 要获得函数调用结果,可以把结果赋值给变量: 但是,如果把函数本身赋值给 阅读全文
摘要:
生成器(Generator) 通过列表生成式,可以直接创建一个列表。但是,受内存限制,列表的容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那么后面绝大多数元素占用的空间都白白浪费了。 所以,如果列表元素可以按照某种算法推算出来,那 阅读全文
摘要:
List Comprehensions(列表生成式) 列表生成式,是Python内置的非常简单却强大的可以用来创建list的生成式。 例如,要生成list:[1,2,3,4,5,6,7,8,9,10]可以用list(range(1,11)): 但如果要生成[1*1,2*2,3*3,........, 阅读全文
摘要:
Python中的迭代 如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们成为迭代(Iteration)。 在Python中,迭代是通过for...in来完成的,而很多语言比如C或者Java,迭代list是通过下标完成的,比如Java代码: 可以看出, 阅读全文
摘要:
Python中的切片 取一个list或tuple的部分元素是非常常见的操作。比如,一个list如下: 对经常取指定索引范围的操作,用循环十分繁琐,因此python提供了切片(Slice)操作符,能大大简化这种操作。 取前3个元素,用一行代码就可以完成切片: L[0:3]表示,从索引0开始取,知道索引 阅读全文