1

次のコードを辞書内包表記に置き換える方法はありますか?

d = {}

for i in xrange(A):
    for j in xrange(B):

         d[(i, j)] = f(i, j)

それが違いを生む場合、私はPython2.7を使用しています。

4

2 に答える 2

5
d = {(i,j):f(i,j) for i in xrange(A) for j in xrange(B)}
于 2012-04-23T10:15:21.200 に答える
2

通常、ネストされたループを次のように置き換えることをお勧めしますitertools.product

from itertools import product
d = { p: f(*p) for p in product(range(A), range(B))}
于 2012-04-23T10:56:51.793 に答える