Tolong jelaskan mengenai (def bilangan (range)) dari Zip (ilmu komputer)

(def puluhan [10 20 30])

;; Untuk zip (0 1 2 3 ...) dan [10 20 30] ke dalam vector, panggil `map vector` terhadapnya; begitu pula untuk list

(map vector bilangan puluhan)           ; ⇒ ([0 10] [1 20] [2 30])

(map list bilangan puluhan)             ; ⇒ ((0 10) (1 20) (2 30))

(map str bilangan puluhan)              ; ⇒ ("010" "120" "230")

;; `map` memotong sampai barisan terpendek; perhatikan "e" dan "a" dari "Milea"

(map vector bilangan puluhan namadepan) ; ⇒ ([0 10 "M"] [1 20 "i"] [2 30 "l"])

(map str bilangan puluhan namadepan)    ; ⇒ ("010M" "120i" "230l")

;; Untuk unzip, terapkan `map vector` atau `map list`

(apply map list (map vector bilangan puluhan namadepan))

;; ⇒ ((0 1 2) (10 20 30) ("M" "i" "l"))

Bahasa-bahasa seperti Python memberikan fungsi zip(). Python versi lawas (2.x) membolehkan pemetaan dengan None untuk menghasilkan efek yang sama. Fungsi zip() dengan * melakukan operasi unzip.

Contoh berikut berlaku untuk Python 2.x. Terdapat perbedaan antara versi 2 dan 3 terhadap hasil dari fungsi zip(), yaitu sebagai daftar (versi 2) dan objek malas (versi 3).

>>> bilangan = [1, 2, 3]

>>> puluhan = [10, 20, 30]