Logo

Programming-Idioms

This language bar is your friend. Select your favorite languages!
  • Haskell

Idiom #240 Sort 2 lists together

Lists a and b have the same length. Apply the same permutation to a and b to have them sorted based on the values of a.

import Data.List
let (outA,outB) = unzip $ sort $ zip a b

Assigned output variables to outA and outB to avoid reassignment.
(->> (map vector a b)
     (sort-by first)
     (apply (partial mapv vector)))

this returns [a b]
the last line is from the 2d- transpose solution

New implementation...
< >
programming-idioms.org