Я спрашивал об особенностях конструкции zipmap
, чтобы обнаружить, что я, по-видимому, делал это неправильно. Поэтому я узнал о (map vector v u)
в этом процессе. Но до этого случая я использовал zipmap для работы (map vector ...)
. Работало ли оно тогда, потому что результирующая карта была достаточно маленькой, чтобы ее можно было отсортировать?
И к фактическому вопросу: что использовать zipmap
, и как/когда его использовать. И когда использовать (map vector ...)
?
Моя первоначальная проблема требовала первоначального заказа, поэтому сопоставление ничего не было бы хорошей идеей. Но в основном - кроме порядка получающихся пар - эти два метода эквивалентны, так как отображение seq
'd становится последовательностью векторов.
(for [pair (map vector v (rest v))]
( ... )) ;do with (first pair) and (last pair)
(for [pair (zipmap v (rest v))]
( ... )) ;do with (first pair) and (last pair)