如何在Python中使用"map"函数?(如何重写for循环?)

5 投票
1 回答
639 浏览
提问于 2025-04-17 09:14

我有一个类的数组,我想要创建这些类的对象。这样做是可以的:

    classArray = [Auto, Wheel]
    objectArray = []
    for myClass in classArray:
        objectArray += [myClass()]
        

我可以用map函数来实现同样的效果吗?

    objectArray = map( ??? , classArray)

如果这个问题很傻,我很抱歉。我对Python还比较陌生。

1 个回答

10

你可以使用列表推导式来代替。很多人认为它比map函数更好用。

objectArrray = [ c() for c in classArray ]

如果你还是想用map,你可以这样做:

map(lambda c: c(), classArray)

在这里,我用lambda创建了一个匿名函数,它只是接收一个项,然后调用它。如果你不太了解map,它的第一个参数是一个只需要一个参数的函数。

撰写回答