如何在python3.3用 map filter reduce
2017-07-11 13:05
381 查看
在3.3里,如果直接使用map(), filter(),reduce(), 会出现
[/code]
[/code]
[/code]
[/code]
[/code]
[/code]
e.g2
[/code]
[/code]
[/code]
>>> def f(x): return x % 2 != 0 and x % 3 != 0
[/code]
>>> filter(f, range(2, 25)) <</span>filter object at 0x0000000002C14908>
[/code]
>>> def cube(x): return x*x*x
[/code]
>>> map(cube, range(1, 11)) <</span>map object at 0x0000000002C82B70> >>> def add(x,y): return x+y
[/code]
>>> reduce(add, range(1, 11)) Traceback (most recent call last): File "", line 1, in <</span>module> reduce(add, range(1, 11)) NameError: name 'reduce' is not defined
[/code]
这种情况是因为在3.3里面,map(),filter()这些的返回值已经不再是list,而是iterators, 所以想要使用,只用将iterator 转换成list 即可, 比如 list(map())
而reduce已经取消了,如想使用,可以用fuctools.reduce来调用。但是要先导入fuctools, 即输入:import fuctools
e.g1
>>>
sentence = 'It is raining cats and dogs'
[/code]
>>>
words = sentence.split()
>>>
print words
['It', 'is', 'raining', 'cats', 'and', 'dogs'] |
>>>
>>>
lengths = map(lambda word: len(word), words)
>>>
print(list(lengths))
[2, 2, 7, 4, 3, 4]
e.g2
>>> import functools
[/code]
>>> def add(x,y): return x+y ...
[/code]
>>> functools.reduce(add, range(1, 11)) 55
[/code]
相关文章推荐
- 如何在python3.3用 map filter reduce
- 如何在python3.3用 map filter reduce
- python 内建函数filter() ,map(),reduce()
- python内置函数map/reduce/filter
- python:map filter reduce
- Python特殊语法:filter、map、reduce、lambda [转]
- python几个内置函数之-filter,map,reduce
- python 中的filter, map, reduce方法解释
- Python特殊语法:filter、map、reduce、lambda、yield
- [Python] 内置序列函数之 filter, map, reduce, zip
- python中的map,filter,reduce,lambda (转)
- python的几个内建函数:apply(),filter(),map(),reduce(
- python filter, map, 和reduce
- python的几个内建函数:apply(),filter(),map(),reduce()
- python中的map,filter,reduce,lambda (转)
- 【转】python中的map,filter,reduce,lambda
- python 的几个内置函数(lambda ,zip, filter, map, reduce )用法
- Python 特殊语法filter、map、reduce、lambda
- Python中几个操作列表的内置函数filter(),map(),reduce(),lambda
- python的几个内建函数:apply,filter,map,reduce