我有一个这样的无限列表:
((1 1)(3 9)(5 17)...)
我想从中制作一个哈希图:
{:1 1 :3 9 :5 17 ... )
基本上“内部”列表的第一个元素是关键字,而第二个元素是值。我不确定在创建时是否更容易创建我使用的列表:
(迭代 (fn [[ab]] [(计算 a) (计算 b)]) [1 1])
(b) 的计算需要 (a),所以我相信在这一点上 (a) 不能是关键字……重点是可以很容易地访问给定 (a) 的值 (b)。
任何想法将不胜感激......
--EDIT--
好的,所以我想通了:
(def my-map (into {} (map #(hash-map (keyword (str (first %))) (first (rest %))) my-list)))
问题是:它似乎并不懒惰......即使我没有消费它,它也会永远存在。有没有办法让它变得懒惰?