Mam listę map, potrzebuję uzyskać wyrównane/nieparzyste elementy indeksowane z tej listy w Clojure. Nie chcę iterować myśli listę z pętli for. Czy istnieje jakaś mała czy pojedyncza funkcja?Otrzymuj elementy indeksowane parzyste/nieparzyste z kolekcji (lista map) w Clojure
8
A
Odpowiedz
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)
-1
nie wiem jakiejkolwiek wbudowanej funkcji do tego, ale to nie jest gadatliwy napisać samemu, tu jest moja próba:
(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"]}
Powiązane problemy
- 1. Otrzymuj najnowsze informacje z kolekcji mongodb
- 2. Co to jest funkcja eksperymentalna "indeksowane elementy"?
- 3. Wektor przetwarzania map w Clojure
- 4. Clojure - Rekurencyjne spłaszczanie zagnieżdżonych map
- 5. Java strumień lista Konwersja map ustawić
- 6. Jak mogę dodać elementy z jednej kolekcji, które nie istnieją w drugiej kolekcji do trzeciej kolekcji?
- 7. Otrzymuj wiersze datagridów
- 8. Jak zdefiniować zagnieżdżone elementy kolekcji w ulu
- 9. Clojure :: uzyskać pojedynczy element z listy i rzutów wyjątkiem jeśli lista zawiera więcej niż 1 elementy
- 10. Backbone.js Jak przetasować elementy w kolekcji
- 11. XMLSerializer przechowuje duże elementy w kolekcji
- 12. Clojure Zipper zagnieżdżonych map represyjnych TRIE
- 13. Jak wyszukiwać elementy z zagnieżdżonych kolekcji w Raven DB?
- 14. wylesianie w kolekcji Scala
- 15. Otrzymuj przerwy z listy czasów
- 16. Jaki jest najprostszy sposób na utrzymanie map/struktur w Clojure?
- 17. Zmiana zachowania mapy w Clojure
- 18. Dlaczego w clojure jest tyle funkcji budowania map?
- 19. Czy mogę "przetransponować" listę map na mapę list w Clojure?
- 20. C# scalić odrębne elementy 2 kolekcji
- 21. Tworzenie równoległej kolekcji Scala z kolekcji Java
- 22. Clojure: praca z java.util.HashMap w idiomatycznym stylu Clojure
- 23. Otrzymuj losowe rekordy z Doctrine
- 24. Otrzymuj dane z powiadomienia GCM
- 25. funkcja Lista Scala grupowania kolejne elementy identyczne
- 26. Swift: Otrzymuj UDP z GCDAsyncUdpSocket
- 27. Otrzymuj akcję z przesłanego formularza
- 28. Znajdź wszystkie elementy, których właściwość kolekcji zawiera elementy z innej listy.
- 29. Clojure: Konwertuj klucze hash-map na słowa kluczowe?
- 30. Jak mogę scalić mapy hash, które znajdują się w kolekcji wektorów w clojure?
Dzięki, już znalazł, po prostu brakowało sekund, aby opublikować odpowiedź! –
To jest dokładnie to, czego potrzebowałem! – PubNub