首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >需要更好的方法使函数对列表中的相邻元素起作用。

需要更好的方法使函数对列表中的相邻元素起作用。
EN

Stack Overflow用户
提问于 2015-08-05 06:56:41
回答 1查看 38关注 0票数 0

我有一个A类,一个A实例的列表。类A有一个实例方法(funca),它只有另一个A实例的一个参数,并返回A实例。现在我想用"funca“来得到所有元素的结果。我的剧本是这样的:

代码语言:javascript
复制
b = a[0]
for a in alist[1:]:
    b=b.funca(a)

我觉得密码很难看。有更好的方法吗?(迭代什么的?)

EN

Stack Overflow用户

回答已采纳

发布于 2015-08-05 06:58:45

您实际上是根据列表链接A.funca()调用,生成调用:

代码语言:javascript
复制
alist[0].funca(alist[1]).funca(alist[2]).funca(alist[3])...funca(alist[-1])

你可以用函数

代码语言:javascript
复制
from functools import reduce  # Python 3 compatibility
result = reduce(lambda a, b: a.funca(b), alist)

这在本质上与循环所做的相同,但只在一行中。

from functools import reduce导入函数来自Python 3位置。;在Python2中,它是内置函数之一。从Python2.6开始,它也可以在Python3位置上使用,以实现向前兼容性。

票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31825431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档