8
지도 목록이 있습니다. Clojure의 목록에서 짝수/홀수 색인 요소를 가져와야합니다. for 루프로 반복 목록을 생각하고 싶지 않습니다. 작은 또는 single_word 함수가 있습니까?Clojure의 Collection (Maps List)에서 짝수/홀수 색인 요소 가져 오기
지도 목록이 있습니다. Clojure의 목록에서 짝수/홀수 색인 요소를 가져와야합니다. for 루프로 반복 목록을 생각하고 싶지 않습니다. 작은 또는 single_word 함수가 있습니까?Clojure의 Collection (Maps List)에서 짝수/홀수 색인 요소 가져 오기
user=> (take-nth 2 [0 1 2 3 4 5 6 7 8 9])
(0 2 4 6 8)
user=> (take-nth 2 (rest [0 1 2 3 4 5 6 7 8 9]))
(1 3 5 7 9)
나는이에 대한 모든 내장 함수의 모르겠지만, 자신을 하나를 작성하는 상세하지 않다가, 여기 내 시도 :
(defn evens-and-odds [coll]
(reduce (fn [result [k v]]
(update-in result [(if (even? k) :even :odd)] conj v))
{:even [] :odd []}
(map-indexed vector coll)))
(evens-and-odds [ "foo" "bar" "baz" "foobar" "quux" ])
; -> {:even ["foo" "baz" "quux"], :odd ["bar" "foobar"]}
고마워, 난 이미 그냥 그것을 발견 대답을 게시하는 초를 놓쳤습니다! –
이것은 내가 필요한 것입니다! – PubNub