有没有办法用字典理解替换下面的代码?
d = {}
for i in xrange(A):
for j in xrange(B):
d[(i, j)] = f(i, j)
如果有任何不同,我正在使用Python2.7。
答案 0 :(得分:5)
d = {(i,j):f(i,j) for i in xrange(A) for j in xrange(B)}
答案 1 :(得分:2)
用itertools.product
替换嵌套循环通常是个好主意:
from itertools import product
d = { p: f(*p) for p in product(range(A), range(B))}