Python 使用“map”构造多个命名元组

Python 使用“map”构造多个命名元组,python,Python,假设我有一个像这样的名字 >>> Point = namedtuple('Point','x y') 为什么我要通过 >>> Point(3,4) 然而,当我想通过地图应用点时,我必须调用 >>> map(Point._make,[(3,4),(5,6)]) 我怀疑这可能与类方法有关,我希望在弄清这一点的过程中,我也能对它们有更多的了解。提前感谢。要点。_make将元组作为其唯一参数。您的map调用相当于[Point.\u make((

假设我有一个像这样的名字

>>> Point = namedtuple('Point','x y')
为什么我要通过

>>> Point(3,4)
然而,当我想通过地图应用点时,我必须调用

>>> map(Point._make,[(3,4),(5,6)])

我怀疑这可能与类方法有关,我希望在弄清这一点的过程中,我也能对它们有更多的了解。提前感谢。

要点。_make
将元组作为其唯一参数。您的
map
调用相当于
[Point.\u make((3,4)),Point.\u make((5,6))]


使用列表理解使这一点更加明显:
[Point(*t)for t in[(3,4)、(5,6)]
达到了同样的效果。

你也可以使用itertools-list中的starmap(starmap(Point,[[1,2],[3,4]])有十几种其他方法可以做到这一点,但列表理解最清楚的是它到底做了什么。