python iterable的类似scala的集合接口。
scalalike.collections的Python项目详细描述
python iterato.r的scala类集合接口
Iterable对象:
>>> from scalalike.collections import Iterable >>> it = Iterable(range(10)) >>> it <scalalike.collections.collection.Iterable object at 0x9b0428c> >>> it.to_list() [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> it.map(lambda x:x*2).to_list() [0, 2, 4, 6, 8, 10, 12, 14, 16, 18] >>> it.filter(lambda x:x%2 == 0).to_list() [0, 2, 4, 6, 8] >>> it.filter(lambda x:x%2 == 0).map(lambda x:x*2).to_list() [0, 4, 8, 12, 16] >>> it.flatmap(lambda x: [x, x]).to_list() [0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9] >>> it.take(4).to_list() [0, 1, 2, 3] >>> it.foldleft(lambda x, y: x+y) 45
地图对象:
>>> from scalalike.collections import Iterable >>> mp = Map(aa=10, bb=20) >>> mp {'aa': 10, 'bb': 20} >>> mp.map(lambda (k, v): (k, v*2)) {'aa': 20, 'bb': 40} >>> mp.filter(lambda (k, v): k == 'bb') {'bb': 20}