2 回答

TA貢獻1852條經(jīng)驗 獲得超7個贊
最直接的方法是使用嵌套的 for 循環(huán)。
k = 0
d = {}
for i in range(4):
for j in range(4):
d[k] = (i, j)
k += 1
或者,如果您更喜歡 oneliners,則雙重理解
dict( enumerate ( [ (i, j) for i in range(4) for j in range(4)] ))
要獲得一個簡單的 for 循環(huán)或推導(dǎo)式,我們可以使用整數(shù)算術(shù)運算符 //(整數(shù)除法)和 % 余數(shù)
{ k : (k // 4, k % 4) for k in range(16) }
這可能更優(yōu)雅和快速

TA貢獻1876條經(jīng)驗 獲得超6個贊
我們可以枚舉整數(shù)的笛卡爾積itertools.product。
import itertools as it
{i: x for i, x in enumerate(it.product(range(3+1), repeat=2))}
# {0: (0, 0),
# 1: (0, 1),
# 2: (0, 2),
# 3: (0, 3),
# ...
# 15: (3, 3)}
添加回答
舉報