我有一个列表的列表,并希望进入一个地图,关键是在列表中的共同价值观之一(在这个例子中动物名)这一点.我知道如何使用{}和从列表创建一个地图,但这不是我想要的.我希望地图中的键(动物名称)引用这些值的列表列表.
我已经创建了一个列表列表
(def animals (list '("tiger" "fur" "yellow & black stripes") '("tiger" "weight" "150") '("tiger" "home" "India") '("elephant" "skin" "gray") '("elephant" "weight" "1500") '("elephant" "home" "Africa") '("frog" "skin" "green") '("frog" "diet" "insects")))
Run Code Online (Sandbox Code Playgroud)
动物
(("tiger" "fur" "yellow & black stripes") ("tiger" "weight" "150") ("tiger" "home" "India") ("elephant" "skin" "gray") ("elephant" "weight" "1500") ("elephant" "home" "Africa") ("frog" "skin" "green") ("frog" "diet" "insects"))
Run Code Online (Sandbox Code Playgroud)
这不完全符合我的要求(但差不多)
(def animal-map (into {} (for [[name attribute value] animals] [name (list attribute value)])))
Run Code Online (Sandbox Code Playgroud)
当我想要每个键的多个列表时,这会导致每个键只有一个列表
动物图(列表地图)
{"tiger" ("home" "India"), "elephant" …Run Code Online (Sandbox Code Playgroud)