当前位置:  开发笔记 > 编程语言 > 正文

如何在Python中对集合运行操作并收集结果?

如何解决《如何在Python中对集合运行操作并收集结果?》经验,为你挑选了1个好方法。

如何在Python中对集合运行操作并收集结果?

所以,如果我有一个包含100个数字的列表,我想为每个数字运行这样的函数:

Operation ( originalElement, anotherVar ) # returns new number.

并收集结果如下:

结果=另一个清单......

我该怎么做?也许使用lambdas?



1> ConcernedOfT..:

列表理解. 在Python中,它们看起来像:

a = [f(x) for x in bar]

其中f(x)是某个函数,bar是序列.

您可以将f(x)定义为部分应用的函数,其构造如下:

def foo(x):
    return lambda f: f*x

这将返回一个将参数乘以x的函数.列表理解中使用的这种类型构造的一个简单示例如下所示:

>>> def foo (x):
...     return lambda f: f*x
... 
>>> a=[1,2,3]
>>> fn_foo = foo(5)
>>> [fn_foo (y) for y in a]
[5, 10, 15]

虽然我不认为在任何相当深奥的情况下使用这种构造.Python不是一种真正的函数式语言,因此与具有更高阶函数的巧妙技巧(例如)Haskell相比,它的范围较小.您可能会发现这种类型的结构的应用,但它不是真的 Python的.您可以通过以下方式实现简单的转换:

>>> y=5
>>> a=[1,2,3]
>>> [x*y for x in a]
[5, 10, 15]

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有