Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将函数应用于元素集合_Python - Fatal编程技术网

Python 如何将函数应用于元素集合

Python 如何将函数应用于元素集合,python,Python,假设我有一个元素数组,我想从中创建一个新的“iterable”,它在每一个元素上应用一个自定义的“transformation”。在Python2.x下,正确的方法是什么 对于熟悉Java的人来说,等价物是来自google集合框架的Iterables转换 作为一个虚拟示例(来自Java),Ok Iterable foos=Iterables.transform(字符串,新函数() { 公共Foo应用(字符串){ 返回新的Foo(字符串); } }); //使用下面的foos 生成器表达式: (f

假设我有一个元素数组,我想从中创建一个新的“iterable”,它在每一个元素上应用一个自定义的“transformation”。在Python2.x下,正确的方法是什么

对于熟悉Java的人来说,等价物是来自google集合框架的Iterables转换

作为一个虚拟示例(来自Java),Ok

Iterable foos=Iterables.transform(字符串,新函数()
{
公共Foo应用(字符串){
返回新的Foo(字符串);
}
});
//使用下面的foos

生成器表达式:

(foobar(x) for x in S)

生成器表达式:

(foobar(x) for x in S)
或者使用
map()

或者使用
map()


另一种方法是:

from itertools import imap
my_generator = imap(my_function, my_iterable)

这是我自己做的方式,但我有点奇怪,因为我实际上喜欢另一种方式:

from itertools import imap
my_generator = imap(my_function, my_iterable)

这是我自己会做的,但我有点奇怪,因为我实际上喜欢
map

一些具体的例子会很有用。一些具体的例子会很有用。请注意,问题是要求惰性评估;genexp更合适。不否决,因为这是一个有效的(但经过评估的)备选方案。也就是说,即使是对于急切的评估,列表理解也可能更为惯用。你是对的,我没有达到最初的目的。为了完整起见,我把它留在这里;genexp更合适。不否决,因为这是一个有效的(但经过评估的)备选方案。也就是说,即使是对于急切的评估,列表理解也可能更为惯用。你是对的,我没有达到最初的目的。为了完整起见,我把它留在这里。+1表示Python中序列的延迟计算转换的惯用方式。+1表示Python中序列的延迟计算转换的惯用方式。不要为使用Python的函数方面而感到内疚!不要为使用Python的功能方面而感到内疚!