这个函数有标准的名字吗?
如果将函数应用于所有元素会得到相同的结果,那么您会如何命名一个接受列表和函数并返回 True 的函数?
def identical_results(l, func):
if len(l) <= 1: return True
result = func(l[0])
for el in l[1:]:
if func(el) != result:
return False
return True
这个东西有一个好听的普遍接受的名字吗?如果您能以不那么笨拙的方式实施,那就太好了。
What would you name a function that takes a list and a function, and returns True if applying the function to all elements gives the same result?
def identical_results(l, func):
if len(l) <= 1: return True
result = func(l[0])
for el in l[1:]:
if func(el) != result:
return False
return True
Is there a nice generally accepted name for this thing? Bonus if you can implement in a less clunky fashion.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
在 .NET 中,最接近的是 Array.TrueForAll。
也许
SameForAll
更适合这个功能?In .NET, the closest is
Array.TrueForAll
.Maybe
SameForAll
would be more appropriate for this function?还没有听说过这个的特殊名称(有点类似于
Forall
,但不完全一样)。IdenticalResults
看起来还不错(Jon Seigel 提出了SameForAll
,也相当不错)另外:这就是人们可以使用
all
函数在 Haskell 中实现这一点的方式(.NET 下的TrueForall
)和 Python:
Havn't heard about a special name for this yet (somewhat similar to
Forall
, but not exactly).IdenticalResults
seems okay so (Jon Seigel proposedSameForAll
, also quite nice)Additionally: That's the way one could implement this in Haskell using the
all
function (TrueForall
under .NET)And Python:
到目前为止还想不出一个好名字,但这个名字的作用是一样的:
Can't think of a good name so far, but this one does the same:
Sametime_results 对我来说听起来是一个合理的名字。
identical_results sounds like a reasonable name to me.
我在上面的评论中发布了此内容,但格式混乱,所以为了清楚起见,这里再次说明:
I posted this in a comment above, but the formatting got messed up, so here it is again for clarity: