是否有更简单的Python map构造(None,fcn())?

时间:2013-02-26 17:08:54

标签: python map equivalent

Python map()的文档部分声明:

  

如果函数为None,则假定为identity函数;

因此,如果我有这样的Python代码:

def yearsback(tbl, yb):
    def fcn():
      y = None
      i = 0
      for (year, prefix, suffix) in reversed(sorted(tbl.iterkeys())):
        if y == None:
          y = year
        elif y > year:
          i, y = 1 + i, year
        if i >= yb:
          return
        yield (year, prefix, suffix)
    return map(None, fcn())

有没有更简单的方法来写这个?此外,我怀疑reversed(sorted(tbl.iterkeys()))也可以简化。

1 个答案:

答案 0 :(得分:5)

您需要做的只是 -

list(fcn())

如果你想要一个迭代器,请使用 -

iter(fcn())