2011-08-25 1 views

답변

24
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) 
+0

고마워, 난 이미 그냥 그것을 발견 대답을 게시하는 초를 놓쳤습니다! –

+0

이것은 내가 필요한 것입니다! – PubNub

-1

나는이에 대한 모든 내장 함수의 모르겠지만, 자신을 하나를 작성하는 상세하지 않다가, 여기 내 시도 :

(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"­ "foob­ar" "quux­" ]) 
; -> {:even ["foo" "baz" "quux"], :odd ["bar" "foobar"]}