Learning Mountain

Keeping Studing

2016年9月

September 18, 2016

Python高阶函数之map/reduce

map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。def f(x): return x * x r = map(f, [1, 2, 3]) print(list(r))结果得:[1, 4, 9]从这个实例可以看出map()函数把运算规则进一步抽象了。
September 15, 2016

Python高级特性之生成器(Generator)

如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。在Python中,这种一边循环一边计算的机制,称为生成器:generator。要创建一个generator,有很多种方法。第一种方法很简单,只要把一个列表生成式的[]改成(),就创建了一个generator可以通过next()函数获得generator的...
September 12, 2016

Python高级特性之列表生成式(List Comprehensions)

列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。输入[x * x for x in range(1, 11)]得到[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]练习:将list中的元素都变为小写形式如果list中既包含字符串,又包含整数,由于非字符串类型没有lower()方法,所以列表生成式会...
September 11, 2016

Python中的数据结构较传统语言(C/C++/JAVA)的区别

list和tuple数据类型list是有序的集合,可以随时添加删除元素。tuple和list的区别是一经初始化元素无法更改。list:L = ['Hello', 'World']tuple:L = ('Hello', 'World')由于list是可变集合所以可以用list自带的方法来进行操作如:L.append('OK')则在L最后位置增加‘OK’得到L = ['Hello', 'Worl...
September 8, 2016

抽象与接口之狐狸和兔子(下)

Field包中的Field类 public Cell place(int row, int col, Cell o) { Cell ret = field[row][col]; field[row][col] = o; return ret; }任何实现了cell接口类的对象都能交给o