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 に答える