所以我試圖創建一個哈希映射,其中每個鍵都是板上的一個項目。Clojure構建2D哈希映射
{[0 0] -1,[0 1] -1,[0 2] -1,[0 3] -1,[0 4] -1,[0 5] -1, 0 1] -1,[1 2] -1,[0 7] -1, 1 3] -1, [1 4] -1,[1 5] -1,[1 6] -1,[1 7] -1,[1 8] -1,[1 9] -1, 2 0] -1, [2 1] -1,[2 2] -1,[2 3] -1,[2 4] -1,[2 5] -1,[2 6] -1, 2 7] -1, [2 8] -1,[2 9] -1,[3 0] -1,[3 1] -1,[3 2] -1,[3 3] -1, 3 4] -1, [3 5] -1,[3 6] -1,[3 7] -1,[3 8] -1,[3 9] -1,[4 0] -1, 4 1] -1, [4 2] -1,[4 3] -1,[4 4] -1,[4 5] -1,[4 6] -1,[4 7] -1, 4 8] -1, [4 9] -1,[5 0] -1,[5 1] -1,[5 2] -1,[5 3] -1,[5 4] -1, 5 5] -1, [5 6 ] -1,[5 7] -1,[5 8] -1,[5 9] -1,[6 0] -1,[6 1] -1,[6 2] -1, [6 3 ] -1,[6 4] -1,[6 5] -1,[6 6] -1,[6 7] -1,[6 8] -1,[6 9] -1, [7 0 ] -1,[7 1] -1,[7 2] -1,[7 3] -1,[7 4] -1,[7 5] -1,[7 6] -1, [7 7 ] -1,[7 8] -1,[7 9] -1,[8 0] -1,[8 1] -1,[8 2] -1,[8 3] -1, [8 4 ] 1,[8 5] -1,[8 6] -1,[8 7] -1,[8 8] -1,[8 9] -1,[9 0] -1, [9 1 ] -1,[9 2] -1,[9 3] -1,[9 4] -1,[9 5] -1,[9 6] -1,[9 7] -1, [9 8 ] -1,[9 9] -1}
到目前爲止,我有
(zipmap (for [x (range 10) y (range 10)] [x y]) (repeat -1))
如果我想要的關鍵字排序:
(into (sorted-map) (zipmap (for [x (range 10) y (range 10)] [x y]) (repeat -1)))
在Python我能想出以下字典解析:
board = {(x, y): -1 for x in range(5) for y in range(5)}
我想知道如果我可以用Clojure這是做類似的事情更可讀/比我目前的做法有效