使用`map`构建多个命名元组
假设我有一个叫做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)]]
也能达到同样的效果。