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

4 投票
1 回答
1507 浏览
提问于 2025-04-16 06:12

假设我有一个叫做namedtuple的东西,像这样:

>>> Point = namedtuple('Point','x y')

我通过下面的方式创建了一个单一的对象:

>>> Point(3,4)

但是当我想用map来处理Point时,我却需要这样调用:

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

我觉得这可能和类方法有关,也希望通过弄明白这个问题能学到更多关于类方法的知识。提前谢谢大家。

1 个回答

7

Point._make 这个方法只接受一个元组作为参数。你用的 map 调用其实和 [Point._make((3, 4)), Point._make((5, 6))] 是一样的。

如果用列表推导式来写,这样会更清楚:[Point(*t) for t in [(3, 4), (5, 6)]] 也能达到同样的效果。

撰写回答