使用`map`构造多个命名元组

时间:2010-10-28 02:22:31

标签: python

假设我有一个像

这样的名字
>>> Point = namedtuple('Point','x y')

为什么我通过

构建单个对象
>>> Point(3,4)

但是当我想通过地图应用Point时,我必须调用

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

我怀疑这可能与类方法有关,我希望在解决这个问题时我也会更多地了解它们。提前谢谢。

1 个答案:

答案 0 :(得分:7)

Point._make以元组为唯一参数。您的map来电相当于[Point._make((3, 4)), Point._make((5, 6))]

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