我有一張地圖,我們稱之爲M,其中包含通過N維映射的數據。在Python中迭代N維
# If it was a 2d map, I could iterate it thusly:
start, size = (10, 10), (3, 3)
for x in range(start[0], start[0]+size[0]):
for y in range(start[1], start[1]+size[1]):
M.get((x, y))
# A 3d map would add a for z in ... and access it thusly
M.get((x, y, z))
# And so on.
我的問題是:我如何使一個迭代器可以產生正確的迭代序列?也就是說,給出start, size = (10, 10), (3, 3)
它將產生2元組序列(10, 10), (10, 11), (10, 12), (11, 10), (11, 11)
等。並且給出start, size = (10, 10, 10), (3, 3, 3)
它將產生正確的3元組序列。
是的,我試過自己,但我的頭爆炸了。或者我不能證明花時間搞清楚了,儘管它很有趣。隨你挑:)