1

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

如果 function 是None,则假定恒等函数;

因此,如果我有一些这样的 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()))也可以简化。

4

1 回答 1

5

你需要做的就是——

list(fcn())

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

iter(fcn())
于 2013-02-26T17:11:27.870 回答