Wann verwenden Sie `zipmap` und wann` map vector`?

Ich wurde gefragt, über die Besonderheit von zipmap konstruieren, um nur zu entdecken, dass ich offenbar etwas falsch. So habe ich gelernt, über (map vector v u) im Prozess. Aber vor diesem Fall hatte ich zipmap zu tun (map vector ...)'s Arbeit. Hat es funktioniert, da die daraus resultierende Karte war klein genug, um aussortiert werden?

Und zu der eigentlichen Frage: was zipmap hat, und wie/Wann es zu benutzen. Und Wann (map vector ...)?

Meinem ursprünglichen problem erforderlich, die ursprüngliche Reihenfolge, so dass mapping nichts wäre keine gute Idee. Aber im Grunde-abgesehen von der Reihenfolge der resultierenden Paare-diese beiden Methoden sind äquivalent, weil die seq'd-Karte wird eine Sequenz von Vektoren.

(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)

InformationsquelleAutor der Frage progo | 2011-05-26

Schreibe einen Kommentar