我可以在Python中使用类而不是带有map的函数吗?
根据,映射函数“将函数应用于iterable的每个项并返回结果列表”。我注意到它也适用于类,例如,我可以在Python中使用类而不是带有map的函数吗?,python,map,Python,Map,根据,映射函数“将函数应用于iterable的每个项并返回结果列表”。我注意到它也适用于类,例如,map(MyClass,get_iterable())并返回类实例列表。 这是否正确使用了map?是的,python是duck类型的,因此如果可以在iterable上调用某些东西(例如MyClass构造函数),那么它将不会返回错误(它将是有效的) 是的,python是duck类型的,因此如果可以在iterable上调用某些东西(比如MyClass构造函数),那么它将不会返回任何错误(并且是有效的)
map(MyClass,get_iterable())
并返回类实例列表。这是否正确使用了
map
?是的,python是duck类型的,因此如果可以在iterable上调用某些东西(例如MyClass构造函数),那么它将不会返回错误(它将是有效的) 是的,python是duck类型的,因此如果可以在iterable上调用某些东西(比如MyClass构造函数),那么它将不会返回任何错误(并且是有效的) 是的。在您的示例中,实际上是将类的构造函数映射到项列表。是。在您的示例中,实际上是将类的构造函数映射到项列表。文档实际上说“将函数应用到iterable的每个项”,其中函数是对参数名称的引用。所以是的,map
可以与任何可调用函数一起使用;所有类型都是可调用的(因为它们将创建该类型的对象)。文档实际上会说“将函数应用于iterable的每个项”,其中函数是对参数名称的引用。所以是的,map
可以与任何可调用函数一起使用;所有类型都是可调用的(因为它们将创建该类型的对象)。试试:
>>> map(str, [1,2,3])
['1', '2', '3']
doc引用函数
作为参数的名称。它的类型不相关-应该只能调用它。试试:
>>> map(str, [1,2,3])
['1', '2', '3']
doc引用
函数
作为参数的名称。它的类型是不相关的-它应该只能被调用。map
需要一个可调用的。如果一个对象是可调用的,那么它也可以工作:
class Foo(object):
def __call__(self, foo):
return foo
print map(Foo(), [1,2,3])
map
需要一个可调用的。如果一个对象是可调用的,那么它也可以工作:
class Foo(object):
def __call__(self, foo):
return foo
print map(Foo(), [1,2,3])
每个
type
都是一个callable每个type
都是一个callable,有不同的词,文档说“map(banana,iterable,…)将香蕉应用到iterable的每个项目并返回结果列表”@planetp你有没有理由不接受我的答案?用不同的词,文档说“map(banana,iterable,…)将香蕉应用于iterable的每一项,并返回结果列表“@planetp有什么原因让你不接受我的答案吗?