Previous Entry Share Next Entry
seq в vector
светлое будущее
potan wrote in ru_clojure
Можно ли преобразовать seq в vector (или что-нибудь с чем работает assoc) дешевле, чем apply vector?
Или аналог map, который бы порождал vector, если его применяют к весторам?

Конструкции вида (apply vector (map (partial apply vector) c) меня несколько пугают, а как без них нормально работать с векторами я не понимаю...

  • 1
(into [] ...) ? а что за задачка-то?
P.S. вообще, использование структур хорошо описано в The Joy of Clojure

Задача такая.
Работаю с двумерными (в перспективе трехмерными) векторами. С ними иногда удобно работать спомощью map, reduce, cons и take, которые пораждает seq, а иногда - с помощью assoc и nth (некоторые векторы предполагаются сильно разряженые и я их храню как вектор пар [координата значение] и накладываю их на плотный вектор чем-то типа mapа).

а datasets из incanter не смотрел? в принципе есть еще infer (вот пост про него - http://measuringmeasures.com/blog/2010/8/26/sparse-matrices-infer-clojure-and-the-jvm.html)

Пока руки не дошли.
Ссылка интересная, thanks!

Thanks!
into скорее всего эффективнее будет. Тем более что размер известен заренее.

Случайно наткнулся на функцию vec, которая делает то же самое.
Похоже, разработчикам она тоже понадобилась :-).

  • 1
?

Log in