fra*_*ans 2 python list generator
给定一个列表[a, b, c, d]我想调用一个foo()返回数字并乘以返回值的函数:
result = foo(a, b) * foo(b, c) * foo(c, d)
Run Code Online (Sandbox Code Playgroud)
这个pythonic单线程是什么?我内心的C程序员会开始摆弄索引和循环,但我知道必须有更好的方法..
在这里你有一个功能的方法:
import operator
from functools import reduce #only python3
result = reduce(operator.mul, map(foo, l, l[1:]))
Run Code Online (Sandbox Code Playgroud)
它可以改善我们的一些itertools功能,imap以便在python2中获得更好的性能
| 归档时间: |
|
| 查看次数: |
42 次 |
| 最近记录: |