Python 使用map调用uuu init_uuu函数
我想通过为列表中的每个元素调用Python 使用map调用uuu init_uuu函数,python,constructor,Python,Constructor,我想通过为列表中的每个元素调用\uuuu init\uuu从参数列表构造一个对象列表。有可能吗? 以下是一个例子: class Foo(object): def __init__(self,x ): self.x = x X = [1,2,3] ob1 = [Foo(x) for x in X] # works! ob2 = map(Foo.__init__, X) does not work 没有理由指定\uuuu init\uuuu;这永远不会被显式调用。只要
\uuuu init\uuu
从参数列表构造一个对象列表。有可能吗?
以下是一个例子:
class Foo(object):
def __init__(self,x ):
self.x = x
X = [1,2,3]
ob1 = [Foo(x) for x in X]
# works!
ob2 = map(Foo.__init__, X)
does not work
没有理由指定
\uuuu init\uuuu
;这永远不会被显式调用。只要map(Foo,X)
就可以了。你可以做list(map(Foo,X))
。或者在Python2中:map(Foo,X)
,因为Python2map
返回一个列表而不是迭代器。